Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The members are divided into 5 teams: frontend-mobile, frontend-webdashboard, backend-mobile, backend-dashboard, and infra

The table below gives a roughly good idea to understand the relations between 2 workflows and 5 teams

...

Project environment and workflow settings

Confidential info: Login secrets, SSL certs, key files, etc

There are login secrets (email/username/password) to log in the websites that we use (GitHub, Gmail, Freenom, etc)

There are also SSL certs, key files, etc that we need for encryption/authorisation purposes.

  • If you are working on infra team, you will need access to all of them (see the box link inside the doc link below)
  • If you are working on backend teams (mobile & dashboard) or dashboard frontend team, you will need access to SSL certs  and AWS EC2 key files (see the box link inside the doc link below)
  • If you are working on mobile frontend team, sorry we haven't got much to say about this: Please refer to Jennifer's doc or ask her if she's available.

For convenience, we are using Cornell subscription version of box.com. This is of course not the most ideal method, nor the most secure way. It is convenient though. Feel free to come up with a better solution if you feel so.

Confidential files

Codebases (GitHub)

You can find a list of all codebases on GitHub for each team at this link.

...

How do I write/debug code?

For backend (mobile & dashboard) developers

After cloning your codebase from GitHub, now it's time to write/debug code.

...

Read the doc below to know how.

Dev/Debug in Container

For frontend (dashboard) developer

Clone the codebase from GitHub as well.

However, since already using npm, you will not need docker - it is not that useful for you.

You are ready to develop right away after cloning from GitHub.

For frontend (mobile) developer

Sorry we haven't got much to say about this: Please refer to Jennifer's doc or ask her if she's available.

Where are these 3 envs? (dev, test, prod)

...

Domain and SSL

Deploy your code

For backend (mobile & dashboard)

Once you have implemented new features locally and pushed your code to the GitHub repo, you can deploy your changes on the test env to see if they integrate well with other components of the project. After making sure that everything works well, it's time to deploy the new feature on the prod env and have it accessible to all our users!

Read the doc below for instructions on how to deploy.

Deploy Services on AWS

For frontend (dashboard)

For this semester, we do not set up a test server, but only local/dev environment (laptop) and production server.

To know how to deploy React web app onto AWS server, read this doc below

Deploy React

For frontend (mobile)

Sorry we haven't got much to say about this: Please refer to Jennifer's doc or ask her if she's available.

Access databases

During your development, you might want to connect to our databases to view/modify the data. For data security reasons, databases are host differently for different environments. Our development and test databases are hosted on MongoDB Atlas and our production database is hosted on BioHPC.

...