This project is being created to tackle one of Africa's biggest challenges: bringing the spotlight to market-creating innovations which were created using technology. The application is designed to spread knowledge, build a community, and encourage discussion revolving around a diverse range of topics. It solves the problem of not having a single platform that ties e-learning and community building into one. The motivation behind creating this project is to create a simple way for people to spread their knowledge, digitally showcase their startup, or find a way to learn something new.
We are using:
- MERN stack: MongoDB, Express, React, and Node.js
- AWS S3 for image/video storage
$ git clone [email protected]:UTSCCSCC01/project-juicyboys.git
- Node: https://nodejs.org/
- You can also use Node Version Manager
$ nvm install --lts
$ npm ci
$ npm run client-install
On Unix:
$ echo "***REMOVED***" >> .env
Or, manually create a .env
file in the root directory:
$ touch .env
Open the file and paste in the following key-value pair:
ATLAS_URI=***REMOVED***
$ npm run dev
Documentation for backend routes can be viewed at localhost:5000/api-docs when project is run locally. URLs, type of request, request and response bodies are all documented there.
Each page is given a dedicated directory under /client/src/pages
, in which 3 files should exist:
index.js - For exporting the jsx element
PAGE.jsx - Frontend page component
PAGE.MODULE.SCSS - Scoped scss for styling
Furthermore components can also be created under /client/src/components/
in which the same 3 files should exist under each dedicated directory.
Assets like pictures and svgs can be saved under the assets
folder for frontend use.
Documentation for each page can be found in the System Design Document, where a crc card is given for each frontend page.
Follow Git flow to manage the repository, and use pull requests to merge. Use Github issues for ticketing.
$ git clone [email protected]:UTSCCSCC01/project-juicyboys.git
$ git pull
Create new branch names following the convention used below.
$ git checkout -b feature/JUIC-{JIRA ISSUE NUMBER} develop
Please follow the convention shown below when writing commit messages.
$ git add .
$ git commit -m "JUIC-{ISSUE NUMBER} A detailed commit message"
$ git push -u origin feature/JUIC-{ISSUE NUMBER}
Once you have completed a feature, create a pull request to review changes in the code. Be sure to set the pull request onto the develop branch. Reference the relevant issue from the Github issues board if applicable.