- Make sure you have Node installed
Skip Straight to 'Getting Stared'
Set Up WSL on your (not needed but it will make life much easier for you) - This guide can help you https://ubuntu.com/wsl
Please follow the following guide to help you set up the project :)
STEP 1 | Update Node |
---|
Command: npm install -g npm@7.21.0
STEP 2 | Clone Repo |
---|
NOTE: Make a local directory/folder (in like your documents or desktop) to clone the project and then run 'git clone' based on your git configuration (most would not have SSH set up so do the HTTP method)
Command - Option 1 (HTTP): git clone https://github.com/anjalikalambe/SES-3A.git Command - Option 2 (SSH): git clone git@github.com:anjalikalambe/SES-3A.git
STEP 3 | Install Packages Part 1/2 |
---|
NOTE: CD into '/backend'
Command: npm i - (this can take a few min)
STEP 4 | Install Packages Part 2/2 |
---|
NOTE: CD back to the main SRC folder by typing 'cd ..' and then CD into '/client'
Command: npm i - (this can take a few min)
STEP 1 | Install Packages Part 1/2 |
---|
NOTE: Launch CMD or Terminal and check if you have python3 installed with the following command: python --version
If a version DOES show up, please skip to STEP 2.
PC: If not please run the following command: 'python'. This will take you to the windows store, choose python 3.9 and click 'get' and that should install MAC: https://www.python.org/downloads/release/python-397/ download and install this
STEP 2 | Install Packages Part 2/2 |
---|
Go into the 'flask-server' directory and type the following command in CMD or Terminal 'pip3 install Flask'
To Run Jupyter notebook, type the following command 'python -m notebook'. This will launch a local host, make your way to the 'user_match_model.ipynb' file and proceed to run the python file
STEP 1 | Locate Python Path - Part (1/2) |
---|
Launch cmd / terminal and type 'where.exe python'. Once found cd into this directory and type the following pip install notebook
STEP 2 | cd into the ML directory & run - Part (2/2) |
---|
To Run Jupyter notebook, type the following command 'python -m notebook'. This will launch a local host, make your way to the 'user_match_model.ipynb' file and proceed to run the python file
STEP 1 | Setup and run venv |
---|
To create a new virtual environment, run 'python -m venv /path/to/venv'
To activate the venv, run 'source venv-path/bin/activate' or 'venv-path\Scripts\activate' on Windows.
STEP 2 | Install Python Packages |
---|
With venv activated, in the flask-server directory, run 'pip install -r requirements.txt'
If new packages have been installed, in the flask-server directory, run 'pip freeze > requirements.txt'
STEP 3 | Running Flask separately |
---|
To run the Flask server alone, in the flask-server directory, run 'python server.py'
Press CTRL-C to close the server.
NOTE: Make sure you are in the '/client' directory to run the application
npm run dev
- Back-end Server: Go to '/backend' and run npm start - This will trigger the server
- Front-end Server: Open a new/second teminal/cmd window in parallel with the server and go to '/client-backend' and run npm start - This will trigger the client/front-end
To ensure we follow a clean and efficient development methodology, we will follow the three-tier branch approach when applying changes. This includes the following:
master
┣━━ feature
┗━━ task
Features are marked as epics on Jira. Create a feature branch after checking Jira epic.
Branch | Naming Convention | Example |
---|---|---|
Master | master | master |
Feature | feature-* | feature-login |
Task | task-* | task-login_button |
The Master Branch will be used as the final product.
- IMPORTANT NOTE - No direct changes will be made on this branch**
The Feature Branch will stem off the Master Branch and will act as a topic branch. For example, if a new component such as a login feature is to be implemented, a feature branch must be created.
The Task Branch will act as the child branch of the Feature Branch to which content can be added. Different goals MUST be spread across other Task Branches. Once the goal is met, branches will be merged into the feature branch via an approved Pull Request (PR). For example:
- Task 1: Create a Login button - Once completed and the PR is approved, this will be merged into the 'feature-login' branch
- Task 2: Change the font size on the login screen - Once completed and the PR is approved, this will also be merged into the 'feature-login' branch.
Enter Misc information here - testing