Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🐍 ERP System — Python Projects Collection

A comprehensive collection of Python-based business management modules ranging from beginner OOP concepts to REST API systems built with FastAPI and SQLite.


📁 Repository Structure

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

📦 Modules Overview


1. 👤 Employee Management System (Employee/)

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.py

2. 🏦 Bank Account Management (bank/)

A 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.py

3. 🎓 Student Result System (student reslut system/)

A 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.py

4. 📦 Inventory Management Practice (imsprc/)

Practice 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 IMS

5. 🗄️ Inventory Management System with Database (ims with database/)

A 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 --reload

Visit: http://127.0.0.1:8000/docs


6. 🎓 Student CRUD REST API (StudentAPI/)

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 --reload

Visit: http://127.0.0.1:8000/docs


7. 🏢 ERP REST API — Employee, Leave & Auth (fastapi/)

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:

🔐 Authentication (auth_router.py)

Method Endpoint Description
POST /auth/register Register new user
POST /auth/login Login and get JWT token

👤 Employee Management (employee_router.py)

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

📅 Leave Management (leave_router.py)

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 --reload

Visit: http://127.0.0.1:8000/docs


🚀 Getting Started

Prerequisites

  • Python 3.8+
  • pip

Install Dependencies

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+

🛠️ Tech Stack Summary

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/

📈 Learning Progression

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)

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m "Add: your feature"
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

👨‍💻 Author

Yash Padaliya


📄 License

This project is open source and available under the MIT License.


Built with ❤️ using Python & FastAPI

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages