Skip to content

Tech Stack

Alex Romanova edited this page Feb 6, 2023 · 5 revisions

Proposal

Starchart is a new system being built from scratch. As such, we have the freedom to choose our own tech stack and not worry about legacy decisions (the students next term can blame you for all of our mistakes!).

Here is a starting point for the technology we'll use to build Starchart.

  1. Language: TypeScript
  2. Back-End: node.js, Express, Satellite
  3. Front-End Framework: React, specifically Remix
  4. UI Components: Chakra UI
  5. Auth: Seneca SSO via Azure Active Directory using SAML2
  6. Database: MySQL
  7. ORM: Prisma
  8. Unit Testing: Jest
  9. E2E Testing: Playwright
  10. DNS: Route53 (AWS Cloud)
  11. Certificates: Let's Encrypt and node-acme-client
  12. Tooling: Prettier, ESLint, Docker, docker-compose
  13. CI/CD: GitHub Actions

It is assumed everyone on the team will have to learn some/all of these technologies, and knowing them beforehand is not a prerequisite. This will be a project of learning, research, and experimentation.

Architecture doc