Students at the University of Toronto spend a lot of their waking time studying for upcoming midterms and finals. This often involves the use of past exams as a form of practice in order to truly hone their skills. The only issue is that they are often held back by the lack of past exam answers which may lead them to build bad problem-solving habits due to ignorant practice. ExamJam aims to bridge the gap in knowledge by providing an accessible platform for current students to discuss past exam answers with their classmates and for future students to learn from those very same discussions many semesters in the future.
Install the following:
- Docker Desktop
- This should include Docker Compose, Docker Engine, and Docker CLI
- Node.js and NPM
- Clone this repository
- Install dependencies for both frontend and backend
cd frontend/app/ npm install #====================== #====================== cd backend/app/ npm install
- Run
docker compose up -d --build
- At this point, the frontend and backend should be running on
localhost:3000
andlocalhost:8080
respectively. - Nginx is also set up as a reverse proxy, so you can also go straight to
localhost
to get the frontend andlocalhost/api
for the backend. - Backend API docs should be available at
localhost/api/docs
orlocalhost:8080/api/docs
- At this point, the frontend and backend should be running on
- After you have confirmed that everything is working fine, you can shut down the containers using
docker compose down
- TypeScript
- React
- HTML/CSS
- Material-UI
- TypeScript
- Node.js
- Express.js
- MongoDB
Our development team uses git flow for contributions. The branches are as follows:
master
: Contains production ready releasesdevelop
: Branches off of master and contains the latest development changes
To implement a new feature:
- Create a branch off of
develop
that matchesfeature/DEV-###-*
where###
is the number corresponding to the feature on Trello. - Implement the feature...
- Create a pull request to merge into
develop
following the PR template given in.github/
directory. - Request a review and approval by at least 2 other developers prior to merging changes into
develop
For other scenarios such as hot/bugfixes, follow the guidelines here.