Team 26
Information Technology (IT) Assets Metadata RepositoryThe goal of the project is to develop a holistic Web based system that supports the metadata-based organization of the different source-code related assets of a software company.
Traditionally, software companies rely on source code version control systems (e.g. GitHub and SVN) to store and manage their source code artefacts. However, such systems typically work on a project or product level with a focus on source code versioning. Hence, they provide limited support in providing an “umbrella”, comprehensive view of the source code assets landscape of the whole company. Moreover, their search capabilities, documentation support and managementof assets associations is fairly limited.
Basic tech-stack:
React Flask Postgres Docker
Build and spin up containers:
export REACT_APP_USERS_SERVICE_URL=http://localhost:5001
docker-compose up -d --build
Navigate to http://localhost:3007 in your browser to test the app. Also ensure http://localhost:5001/ping works.
Create and seed the database:
docker-compose exec users python manage.py recreate_db
docker-compose exec users python manage.py seed_db
Ensure http://localhost:5001/users works as well.
Configure git to avoid potential windows errors:
git config --global core.eol lf
git config --global core.autocrlf input
Run the tests, lint, and format your code (before commit)
docker-compose exec client npm test
docker-compose exec client npm test --coverage
docker-compose exec client npm run prettier:check
docker-compose exec client npm run prettier:write
docker-compose exec client npm run lint
docker-compose exec users pytest "project/tests" -p no:warnings --cov="project"
docker-compose exec users flake8 project
docker-compose exec users black project --check
docker-compose exec users /bin/sh -c "isort project/*/*.py --check-only"
docker-compose exec users black project
docker-compose exec users /bin/sh -c "isort project/*/*.py"
api-documentation http://localhost:5001/doc
Initial template for has been created by modifying the following tutorial https://testdriven.io/courses/auth-flask-react/
- Checkout
- Create a branch
- Add commits; commits must follow the following conventions
- Short, yet non-offensive. Offensive/ commits over 500 characters will not be merged
- Informitive, of what you have accomplished (NOT "feat - update index.js")
- Regular, try to keep each commit atomic to a single feature, bug or quality of life improvement
- First word should be a header
- feat - a new feature (specify what the feature was, small, each stage of tdd)
- bug - fix a bug (specify what the bug was)
- qol - quality of life, (update readme, fix typos etc)
- library code and build files should be added to git-ignore
- Repeat until ready to merge
- Run tests + linters, ensure everything is green
- Ensure code is documented
- Open a Pull Request
- Discuss and review your code
- Merge
- Delete
git clone [email protected]:RHUL-CS-Projects/TeamProject2020_26.git or git pull
git checkout -b asigned_sprint_task_X
git add .
git commit
// repeat, test
git pull (ensure your branch is up to date)
// resolve conflicts if any
git push
// on github create pull request, assign someone to review your code and give feedback
// branch is merged, you can now delete your branch