A project for CMSC 447: Inventory Management System by CodeBase Commanders
- Introduction
- Project Setup
- Branching Strategy
- Development Workflow
- Directory Structure
- Technologies Used
- Team Roles
- Contributing
The Inventory Management System is a web-based solution designed to track product descriptions and quantities, provide real-time alerts for low stock levels, and generate reports. The system includes features for product management, role-based access control, audit logs, notifications, and search functionality.
To get started with the project, follow the instructions below:
-
Clone the Repository
git clone https://github.com/Golani51/Inventory-Management-System.git cd Inventory-Management-System -
Create and Switch to Your Feature Branch Each team member should work on their own feature branch:
git checkout -b <your-branch-name>
-
Install Project Dependencies Depending on your role, you may need to install dependencies for different parts of the project:
-
For Backend Development (Matthew):
pip install -r requirements.txt
-
For Frontend Development (Alex): Make sure you have Node.js installed. Then run:
npm install
-
For Database (Josh): Follow the database setup instructions provided in the database folder.
-
We use a feature-branch workflow to keep development organized:
main: The primary branch for stable, production-ready code.backend/<feature-name>: Branches for backend API development.frontend/<feature-name>: Branches for frontend development tasks.database/<feature-name>: Branches for database schema and integration.
If you are adding a login feature in the frontend:
git checkout -b frontend/add-login-feature-
Update Your Local Repository Before starting work, always pull the latest changes from the
mainbranch:git checkout main git pull origin main
-
Make Changes and Commit Make sure your changes are isolated to your branch and that you commit frequently with descriptive messages:
git add . git commit -m "Added login form for user authentication"
-
Push Your Branch Push your changes to GitHub:
git push origin <your-branch-name>
-
Create a Pull Request (PR) Go to the repository on GitHub and create a Pull Request from your branch to
main. Assign team members for review and wait for approval before merging.
Inventory-Management-System/
│
├── backend/
│ ├── api/
│ ├── models/
│ └── app.py
│
├── frontend/
│ ├── public/
│ ├── src/
│ └── index.html
│
├── database/
│ ├── schema.sql
│ └── scripts/
│
├── tests/
│ ├── unit/
│ └── integration/
│
└── README.md
- Backend: Python, Flask
- Frontend: JavaScript, HTML, CSS
- Database: MySQL
- Version Control: Git
- Matthew Dyson: Backend Developer
- Alex Gudat: Frontend Developer
- Joshua Hur: Database Specialist
- Ben Maher: Scrum Master
- Jon Woods: QA & Documentation Specialist
To contribute to the project, follow the development workflow and submit pull requests for review. Always communicate any blockers or issues in our group meetings or via the project board on GitHub.