Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #1

Open
15 of 42 tasks
liammulh opened this issue Apr 5, 2024 · 0 comments
Open
15 of 42 tasks

Roadmap #1

liammulh opened this issue Apr 5, 2024 · 0 comments
Assignees

Comments

@liammulh
Copy link
Member

liammulh commented Apr 5, 2024

HCI Roadmap

This issue serves as a roadmap / to-do list for the development of the HCI.

  • Each level-2 header (##) is an epic.
    • 🔜 denotes a to-do epic.
    • 🔛 denotes an in-progress epic.
    • ✔️ denotes a finished epic.
  • Each level-3 header (###) is a project.
    • 🔴 denotes a to-do project.
    • 🟠 denotes an on-hold project.
    • 🟡 denotes an in-progress project.
    • 🟢 denotes a finished project.

If a project is on hold, there must be a justification for putting it on hold beneath the project's header.

✔️ Create Plan

🟢 Create Plan for Software

  • Use Django as a web framework.
  • Use Django's built-in HTML templating.
  • Use Postgres as a database.
  • Use HTMX.
  • If necessary, use Alpine.js or React for extra interactivity.

🟢 Create Plan for Infrastructure

Infrastructure code is housed in a separate repository.

  • Use Terraform to create/destroy resources.
  • Use ECS and ECR for the application code.
  • Use CloudWatch for monitoring.
  • Use GitHub Actions for deployment.

🟢 Create Wireframes

🟢 Create Data Model

🔜 Create Infrastructure

🟢 Learn Terraform and Ansible

  • Learn and experiment with Terraform
  • Learn and experiment with Ansible

🟢 Set up Infra Repo

  • Create infrastructure repository
    • See the infra repo here.
  • Create scripts for IaC code quality
    • See the check script here.

🟢 Dockerize the HCI code

🟡 Create AWS Resources on the Stanford AWS Account

See the stanford-infra issue where this work is being tracked.

  • Create Terraform IaC for a Route 53 prod subdomain
  • Create Terraform IaC for a Route 53 test subdomain
  • Create Dockerfile for application code
  • Create Terraform IaC for ECS
  • Create Terraform IaC for ECR (if necessary)
  • Create Terraform IaC for CloudWatch (if necessary)

🔴 Deploy HCI

See these GitHub docs.

  • Deploy HCI to test server
  • Deploy HCI to production server

🔜 Create GitHub Actions Workflows

🔴 Run Code Quality Checks

  • Create GitHub Actions workflow that formats, lints, type checks, and runs tests when a PR is opened

🔴 Deploy to Test Server

  • Create GitHub Actions workflow that deploys the latest changes to the test server if the code quality checks pass

🔴 Deploy to Production Server

  • Create GitHub Actions workflow that deploys the latest changes to the production server if the pull request is merged

🔜 Add Functionality

See the wireframes.

🔴 Create the Score Calculator

See the score template.

🟠 Add Basic Screens

This project is on hold while I work on infrastructure.

🔴 Add "All" Screens

  • Create the all curations screen and associated functionality
  • Create the all diseases screen and associated functionality
  • Create the all alleles/haplotypes screen and associated functionality
  • Create the all publications screen and associated functionality

🔴 Add "New" Screens

  • Create the new curation screen and associated functionality
  • Create the new disease screen and associated functionality
  • Create the new allele screen and associated functionality
  • Create the new publication screen and associated functionality

🔴 Add Curation Screens

  • Create the curation overview screen and associated functionality
  • Create the curation edit screen and associated functionality

🔜 Miscellaneous Tasks

Q&A

Here's an issue where I collect questions and (hopefully) answers to them.

@liammulh liammulh self-assigned this Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant