Project Info
All sources are located inside the prodmanager
folder.
Key Technical Skills
Directories
docs
: Library documentationtests
: Unitaries testsprodmanager
: Sources of the library
Can I create a merge request ?
Yes, you can.
Also, please don't rush or ask for ETA, because I have to understand the merge request, make sure it is no breaking changes and stick to my vision of this project, especially for large merge requests.
I will mark your merge request in the milestones, if I am plan to review and merge it.
✅ Accept: - Bug/Security fix
⚠️ Discussion required - New features - Large merge requests
❌ Won't Merge - Do not pass auto test - Any breaking changes - Duplicated merge request - Buggy - Existing logic is completely modified or deleted for no reason
Recommended Merge Request Guideline
Before deep into coding, discussion first is preferred. Creating an empty merge request for discussion would be recommended.
- Fork the project
- Clone your fork repo to local
- Create a new branch
- Create an empty commit
git commit -m "[empty commit] merge request for <YOUR TASK NAME>" --allow-empty
- Push to your fork repo
- Create a merge request
- Write a proper description
- Click "Change to draft"
- Engage a discussion
Project Styles
I personally do not like something need to learn so much and need to config so much before you can finally start the app.
- Easy to install for non-Docker users, no native build dependency is needed (at least for x86_64), no extra config, no extra effort to get it run
- Single container for Docker users, no very complex docker-compose file. Just map the volume and expose the port, then good to go
- Easy to use
- The web UI styling should be consistent and nice.
Coding Styles
- 2 spaces indentation
Name convention
- Function and methods : underscore_type
- Classes : PascalCaseType
Tools
- Python >= 3.7
- Git
Install dependencies
Unit Test
Test are made using pytest framework and run with :
python3 -m pytest \
-v \
-n 4 \
--cov="prodmanager" \
--junitxml=result.xml \
--html=report.html \
tests/
coverage html
Release Procedures
- Update the
CHANGELOG.md
file - Update the
pyproject.toml
file - Merge from
develop
branch tomaster
- Tag the latest commit of the
master
branch with the version number - Wait for CI/CD pipeline to succeed
- Create a Release from the GitLab UI containing the content of the
CHANGELOG.md
file
Created: February 5, 2023