Feel free to edit this document.
Kalas-Iris CS491/2 Senior Design Project, Clothes recognition and rich attribute prediction using computer vision service for online clothing retail
- Determine a CSS Framework (Material, Ant...)
- Add database connection (decide NoSQL vs SQL)
- Create single image upload page
- Fix MMFashion codebase
- Add documentation for MMFashion
- Add more tasks
api/
flask app for the web app api.web/
node app for the web app ui.Scripts/
python scripts for data analysis / machine learning.
Note that sometimes command python/pip
might refer to python2.7 and python3/pip3 might
refer to python3.*. Use python3 and pip3 instead of python/pip if you are facing this problem.
Prefered dev env. is Linux or WSL under Windows. Machine Learning scripts can be run under Anaconda for windows for CUDA integrity.)
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install python3.8
$ pip install virtualenv # Required
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash # Install node version manager (nvm)
$ nvm install 14.4 # Install the required npm version
You only have to setup once unless there are new features added.
$ cd api # Locate to the api/ folder
$ python -m virtualenv venv # Create a virtual env for python
$ . venv/bin/activate # Activate the virtual env use don't forget to use 'deactivate' to exit venv
$ source venv/bin/activate # Mac users should use this to activate the virtual env
$ pip install -r requirements.txt # Install python dependencies
Note: There are no database connections right now. The setup instructions are open to change.
$ cd api
$ sh run.sh # Or ./run.sh
$ cd web
$ npm start # This might take a while on the first run. It will install dependencies
$ echo "WIP"
After gaining permission to the database, create a .env file containing your username and password. It should have the following format.
$ DATABASE_USERNAME = "yourusername"
$ DATABASE_PASSWORD = "yourpassword"
For more on .env files, you can visit here and here
If you are having troubles using git on command line, I highly suggest you to use GitKraken. You can also see their tutorials they are short. But still I will try to explain some about the workflow.
-
Use issues and pull requests.
-
Everyone uses their own branches ideally. Those branches get merged after they are completed. For example if you want to add an about page, create a branch ata/about-page. Work on that branch. If someone needs to work with you, they will also work on that branch. This might not be the case in the beginning of the project, it is OK to use until codebase gets complex. But still, please don't upload broken commits.
-
Never force push.
-
Stash your local changes before you pull.
-
Pull the master or the branch you are working on everytime you start doing something. NEVER pull while you have local changes and merge. Unnecessary merge commits will make git repository very complex and hard to deal with. Also you might mess up the code.
-
When a merge is necessary, please don't just overwrite the incoming changes. Take your time and work on it.