
Small Business Inventory Management System
A RESTful API for managing inventory for small businesses, built with FastAPI and SQLite.
Features
- Inventory Management: Track items, categories, and suppliers
- User Authentication: Secure API endpoints with JWT authentication
- Reporting: Generate inventory reports
- RESTful API: Well-documented API with Swagger UI
Technologies Used
- FastAPI: High-performance web framework
- SQLAlchemy: SQL toolkit and ORM
- Alembic: Database migration tool
- SQLite: Lightweight database
- JWT: Authentication mechanism
- Pydantic: Data validation
- Uvicorn: ASGI server
API Endpoints
- Authentication:
/api/v1/auth/*
- Users:
/api/v1/users/*
- Items:
/api/v1/items/*
- Categories:
/api/v1/categories/*
- Suppliers:
/api/v1/suppliers/*
- Reports:
/api/v1/reports/*
- Health Check:
/health
Getting Started
Prerequisites
- Python 3.7+
Installation
- Clone the repository
- Install dependencies:
pip install -r requirements.txt
- Run the migrations:
alembic upgrade head
- Start the server:
uvicorn main:app --reload
- Visit the API documentation at http://localhost:8000/docs
Project Structure
├── app
│ ├── api
│ │ ├── api_v1
│ │ │ ├── endpoints
│ │ │ │ ├── auth.py
│ │ │ │ ├── categories.py
│ │ │ │ ├── items.py
│ │ │ │ ├── reports.py
│ │ │ │ ├── suppliers.py
│ │ │ │ └── users.py
│ │ │ └── api.py
│ │ └── deps.py
│ ├── core
│ │ ├── config.py
│ │ └── security.py
│ ├── crud
│ ├── db
│ │ └── session.py
│ ├── models
│ ├── schemas
│ └── utils
├── migrations
│ ├── versions
│ ├── env.py
│ └── script.py.mako
├── storage
│ └── db
├── alembic.ini
├── main.py
├── README.md
└── requirements.txt
Description
Languages
Python
99%
Mako
1%