-React -Typescript
-Flask -Python
- Open a terminal in the workspace (or the VSCode integrated terminal)
- Get into server dir:
cd server
- Activate python virtual environment:
pipenv shell
- Already installed server dependencies?
- Y: Continue to step 5
- N: Install virtual environtment dependencies:
pipenv install --dev
- Using the updated version of the .env file?
- Y: Continue to step 6
- N: Donwload the new .env file and place it in the server dir
- Run Flask backend server:
flask run
- Create new terminal in workspace (or VSCode integrated terminal)
- Get into the client dir:
cd client
- Already installed client dependencies?
- Y: Continue to step 10
- N: Install node modules dependencies:
npm install
- Start the client application:
npm start
- Get in the client dir:
cd client
- Install node packages with npm:
- For production dependencies:
npm install package-name
- For development dependencies (testers, debuggers, @types, etc.):
npm install -D package-name
- For production dependencies:
- Add a commit describing added dependencies starting with the
:heavy_plus_sign:
emoji
-
Get in the server dir:
cd server
-
Run the command to install virtual environment packages and update requirements.txt:
- For production dependencies:
pipenv install package_name && pipenv lock --requirements > ../requirements.txt
- For development dependencies (testers, linters, debuggers, etc.):
pipenv install package_name && pipenv lock --requirements > ../requirements.txt
- For production dependencies:
-
Add a commit describing added dependencies starting with the
:heavy_plus_sign:
emoji
- Stay tuned for repository updates
- Remember to pull often
- Structured branch names (without "<>"):
<username>_<feature>
- One branch per person, per feature
- Expresive commits
- Start with an emoji (see reference guide: https://gitmoji.dev/)
- Insighful message
- NO:
git commit -m "Sum changes"
- YES:
git commit -m ":lipstick: Updated user card by changing the container element width and height."
- Push ONLY to your branches
- YES:
git push -u origin user123_AppChanges
- NO:
git push -uf origin main
(<-- DO NOT TEST THIS LINE)
- YES:
- Comments, comments, comments
- Rule of thumb: 3 lines, 1 comment
- Use common sense:
- Could my grandma read (and understand) my code?
- Is my solution reusable?
- Is this going to overwrite someone else's work?
- Will I be able to understand my commit message 30 days from now?
- Am I uploading any sensible or secret information (API keys, passwords, validation tokens...)?
- Don't be too afraid to break stuff, just be willing to fix it
REMEMBER: 65% of your job is to FIGURE OUT and LEARN how to do stuff...
These resources are your friends:
- Flask docs: Official Flask web framework documentation - https://flask.palletsprojects.com/en/1.1.x/
- Flask Megatutorial - https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
- Pretty Printed: Python Backend YouTube channel - https://www.youtube.com/channel/UC-QDfvrRIDB6F0bIO4I4HkQ
- MongoDB for Python developers: Official FREE course - https://university.mongodb.com/courses/M220P/about
- Flask-Mongoengine docs: Docs for Mongoengine ODM - http://docs.mongoengine.org/projects/flask-mongoengine/en/latest/
- React Docs: Official react documentation (for Javascript) - https://reactjs.org/docs/getting-started.html
- Typescript Handbook - https://www.typescriptlang.org/docs/handbook/intro.html
- React & TypeScript Guide - https://components.guide/react+typescript
- Traversy Media: Fullstack YouTube channel https://www.youtube.com/user/TechGuyWeb
- MDN Web Docs, robust web technologies docs: https://developer.mozilla.org/
- GitHub TechWithTim tutorial: PLEASE WATCH THIS! - https://www.youtube.com/watch?v=DVRQoVRzMIY
- Command Cheat Sheet: Official command cheat sheet - https://education.github.com/git-cheat-sheet-education.pdf