π¦ Stash GO
A modern, high-performance Point-of-Sale (POS) and Inventory Management system tailored for shopkeepers and small businesses.
Stash GO provides a secure, real-time business intelligence dashboard that tracks inventory movement, logs daily sales transactions, and generates automated financial reports. Built with a lightning-fast Python backend and a responsive, glassmorphism-styled Svelte frontend.
β¨ Key Features
- Secure Authentication: Robust user registration and login flow utilizing JWT (JSON Web Tokens) and bcrypt password hashing.
- Business Intelligence Dashboard: Real-time analytics displaying gross revenue, net profit yields, top-selling items, and low-stock warnings.
- Automated Reporting: Instantly generate and download monthly sales ledgers in both Excel (.xlsx) and PDF formats.
- Live Ledger: A real-time transaction stream tracking every order, quantity, and timestamp.
- Modern UI/UX: A premium, dark-mode SaaS interface featuring frosted glass aesthetics (glassmorphism), responsive grid layouts, and custom animations.
π οΈ Technology Stack
Frontend (Client)
- Svelte - UI Framework
- TypeScript - Static Typing
- Vite - Build Tool & Development Server
- Custom CSS (Design Tokens & CSS Variables)
Backend (API Node)
- FastAPI - High-performance web framework
- Python 3.x - Core language
- SQLAlchemy - ORM & Database Management
- Pandas & FPDF2 - Data processing and report generation
- Passlib & python-jose - Security & JWT cryptography
π Getting Started
Follow these instructions to get a copy of Stash GO running on your local machine for development and testing.
1. Backend Setup (FastAPI)
Navigate to your backend directory:
cd backend
Create a virtual environment and activate it:
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate
Install the required dependencies:
pip install fastapi uvicorn sqlalchemy passlib[bcrypt] python-jose python-dotenv pandas openpyxl fpdf2
Create a .env file in the backend root and add your secret keys:
SECRET_KEY="your_super_secret_jwt_key_here"
Start the development server:
uvicorn main:app --reload
The API will be available at http://127.0.0.1:8000
2. Frontend Setup (Svelte)
Open a new terminal window and navigate to your frontend directory:
cd frontend
Install the Node.js dependencies:
npm install
Start the Vite development server:
npm run dev
The web app will be available at http://localhost:5173
ποΈ Project Architecture
- /backend/main.py - Application entry point and CORS configuration.
- /backend/routes/ - Modular API endpoints (auth_routes.py, report_routes.py, etc.).
- /backend/database.py - Database connection and session management.
- /backend/models.py - SQLAlchemy database schemas (User_Auth, Sale, Product).
- /frontend/src/App.svelte - Main frontend routing.
- /frontend/src/lib/Login.svelte - Secure authentication portal.
- /frontend/src/lib/Dashboard.svelte - The main BI and analytics view.
π Future Roadmap
- [ ] Interactive Point-of-Sale (Checkout) Interface
- [ ] CRUD Operations for Inventory Management (Add/Edit/Restock)
- [ ] Google SSO Integration
- [ ] Cloud Deployment (AWS EC2 & RDS)