A full-stack ordering platform for WOW Fresh Meat Centreville.
Here are some best practices when contributing to the WOW Centreville project:
-
You cannot and should not commit to either
mainordev!- Instead, create a new branch off of
devwhen working on a feature, preferably namedusername/feature(ie,andrewtlu/menu-endpoints). - Once you're done, create a pull request describing your changes and add both andrewtlu and esunn0412 as reviewers.
- DO NOT work on someone else's branch unless you have their permission! However, you can create a new branch from their branch.
- Instead, create a new branch off of
-
Commit often, commit well!
- Whenever you make a logical group of changes (ie, changed a model or implemented part of a component), stage and commit your changes so we can see what you've done and you don't accidentally lose any changes.
- Name your changes in present tense with a semi-descriptive message (ie,
Add submit button component, NOTchanged stuff). - Make sure to push your changes to your branch frequently so that the branch in GitHub is up to date.
- We have predefined styles in the project! We use
prettieron the frontend, andruffon the backend.- To format the frontend, you can run
npm run format - To format the backend, you can run
ruff format ./ - There may be issues with your code outside of formatting - see the respective READMEs for more information.
- GitHub will notify you if your code is not up to our style guidelines. It is preferable you run these before every commit; your code MUST be styled properly to be merged into dev/main.
- To format the frontend, you can run
See frontend/ and backend/ for their respective instructions. For general setup:
-
Read through the best practices! <- this is VERY important
-
Install git
-
Set up the repository locally and configure proper git credentials.
- Clone the repository via HTTPS or SSH (click the big green
<> Codebutton) - Configure your git credentials either with a personal access token (if cloning via HTTPS) or an SSH key (if cloning via SSH)
- Clone the repository via HTTPS or SSH (click the big green
-
Join our slack to keep in touch outside of club meetings