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

  1. Clone the repository
  2. Install dependencies:
pip install -r requirements.txt
  1. Run the migrations:
alembic upgrade head
  1. Start the server:
uvicorn main:app --reload
  1. 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
Project: Small Business Inventory Management System
Readme 52 KiB
Languages
Python 99%
Mako 1%