A comprehensive collection of Python-based business management modules ranging from beginner OOP concepts to REST API systems built with FastAPI and SQLite.
erp-system-python/
├── Employee/ # Employee Management System (OOP)
├── bank/ # Bank Account Management (OOP)
├── student reslut system/ # Student Result & Grade System (OOP)
├── imsprc/ # Inventory Management Practice (OOP)
├── ims with database/ # Inventory Management System (FastAPI + SQLite)
├── StudentAPI/ # Student CRUD REST API (FastAPI + SQLite)
├── fastapi/ # ERP REST API — Employee, Leave & Auth (FastAPI + SQLite)
└── README.md
A console-based Employee Management System built using Python's Object-Oriented Programming principles.
Features:
- ➕ Add new employees (ID, Name, Salary, Department)
- 📋 View all employees
- 🔍 Search employee by name
- 💰 Update employee salary
- 🗑️ Delete employee by ID
- 🚪 Exit gracefully
Tech Stack: Pure Python (OOP, Lists)
How to Run:
cd Employee
python main.pyA simple Bank Account Management system demonstrating OOP concepts like encapsulation, methods, and object instantiation.
Features:
- 💵 Deposit money into account
- 💸 Withdraw money (with insufficient balance check)
- 📊 Display current balance
Tech Stack: Pure Python (OOP)
How to Run:
cd bank
python main.pyA Student Result and Grade Calculator that takes marks for 5 subjects and computes totals, averages, and letter grades.
Features:
- 📝 Input marks for 5 subjects
- ➕ Calculate total and percentage
- 🏅 Assign grade (A, B, C, D, E, or Fail)
Grading Scale:
| Percentage | Grade |
|---|---|
| ≥ 90% | A |
| ≥ 80% | B |
| ≥ 70% | C |
| ≥ 60% | D |
| ≥ 50% | E |
| < 50% | Fail |
Tech Stack: Pure Python (OOP)
How to Run:
cd "student reslut system"
python main.pyPractice implementations of an Inventory Management System (IMS) demonstrating progressive development.
Files:
| File | Description |
|---|---|
main.py |
Single product OOP demo — add stock, sell, display |
main2.py |
Multi-product IMS with CRUD menu (Add, View, Search, Sell) |
main3.py |
Advanced IMS with stock management & reporting |
Features:
- 🏷️ Product creation (Name, Price, Stock)
- ➕ Add stock to existing products
- 💼 Sell products (with out-of-stock validation)
- 📋 View all inventory
- 🔍 Search product by name
Tech Stack: Pure Python (OOP, Lists)
How to Run:
cd imsprc
python main.py # Single product demo
python main2.py # Multi-product menu system
python main3.py # Advanced IMSA REST API-based Inventory Management System built with FastAPI and a SQLite database for persistent data storage.
Structure:
ims with database/
├── app/
│ ├── main.py # FastAPI app entry point
│ ├── database.py # SQLite database connection
│ ├── routers/
│ │ └── product_router.py # Product CRUD endpoints
│ └── schemas/
└── db.txt # Database notes/config
API Endpoints:
| Method | Endpoint | Description |
|---|---|---|
| GET | /products |
List all products |
| GET | /products/{id} |
Get product by ID |
| POST | /products |
Create new product |
| PUT | /products/{id} |
Update product details |
| DELETE | /products/{id} |
Delete a product |
Tech Stack: FastAPI, SQLite, Pydantic, Uvicorn
How to Run:
cd "ims with database"
pip install fastapi uvicorn sqlalchemy
uvicorn app.main:app --reloadVisit: http://127.0.0.1:8000/docs
A Student Management REST API built with FastAPI providing full CRUD operations with a SQLite database.
Structure:
StudentAPI/
└── app/
├── main.py # FastAPI app entry point
├── database.py # SQLite database connection
├── routers/
│ └── student_router.py # Student CRUD endpoints
└── schemas/
API Endpoints:
| Method | Endpoint | Description |
|---|---|---|
| GET | /students |
List all students |
| GET | /students/{id} |
Get student by ID |
| POST | /students |
Create new student |
| PUT | /students/{id} |
Update student info |
| DELETE | /students/{id} |
Delete a student |
Tech Stack: FastAPI, SQLite, SQLAlchemy, Pydantic, Uvicorn
How to Run:
cd StudentAPI
pip install fastapi uvicorn sqlalchemy
uvicorn app.main:app --reloadVisit: http://127.0.0.1:8000/docs
The most comprehensive module — a full-featured ERP REST API with authentication, employee management, and leave management built on FastAPI.
Structure:
fastapi/
├── .gitignore
└── app/
├── main.py # FastAPI app entry point
├── database.py # SQLite database connection
├── routers/
│ ├── auth_router.py # User authentication (Login/Register/JWT)
│ ├── employee_router.py # Employee CRUD operations
│ └── leave_router.py # Leave request management
├── schemas/
│ └── leave_schema.py # Pydantic schemas for leave
└── praticgetpost/ # Practice GET/POST examples
Modules:
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/register |
Register new user |
| POST | /auth/login |
Login and get JWT token |
| Method | Endpoint | Description |
|---|---|---|
| GET | /employees |
List all employees |
| GET | /employees/{id} |
Get employee by ID |
| POST | /employees |
Add new employee |
| PUT | /employees/{id} |
Update employee |
| DELETE | /employees/{id} |
Delete employee |
| Method | Endpoint | Description |
|---|---|---|
| GET | /leaves |
List all leave requests |
| GET | /leaves/{id} |
Get leave request by ID |
| POST | /leaves |
Submit new leave request |
| PUT | /leaves/{id} |
Update leave request |
| DELETE | /leaves/{id} |
Delete leave request |
| PATCH | /leaves/{id}/status |
Approve/Reject leave request |
Tech Stack: FastAPI, SQLite, SQLAlchemy, Pydantic, JWT (python-jose), Uvicorn
How to Run:
cd fastapi
pip install fastapi uvicorn sqlalchemy python-jose passlib
uvicorn app.main:app --reloadVisit: http://127.0.0.1:8000/docs
- Python 3.8+
- pip
For API projects (modules 5, 6, 7):
pip install fastapi uvicorn sqlalchemy pydantic python-jose passlib[bcrypt]For console projects (modules 1–4):
# No external dependencies required — just Python 3.8+| Technology | Used In |
|---|---|
| Python 3.8+ | All modules |
| FastAPI | fastapi/, StudentAPI/, ims with database/ |
| SQLite | fastapi/, StudentAPI/, ims with database/ |
| SQLAlchemy | fastapi/, StudentAPI/, ims with database/ |
| Pydantic | fastapi/, StudentAPI/, ims with database/ |
| JWT (jose) | fastapi/ (auth module) |
| Uvicorn | fastapi/, StudentAPI/, ims with database/ |
| OOP (Pure Python) | Employee/, bank/, student reslut system/, imsprc/ |
This repository follows a natural learning curve:
Level 1 (Beginner) → bank/, imsprc/main.py
Level 2 (Intermediate) → Employee/, student reslut system/, imsprc/main2.py, main3.py
Level 3 (Advanced OOP) → (all OOP modules combined)
Level 4 (REST APIs) → StudentAPI/, ims with database/
Level 5 (Full ERP API) → fastapi/ (with auth, employees, leave)
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m "Add: your feature" - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
Yash Padaliya
- GitHub: @yashpadaliya08
This project is open source and available under the MIT License.
Built with ❤️ using Python & FastAPI