A full-stack Inventory Management System with:
- Frontend: Next.js (React, Tailwind CSS)
- Backend: FastAPI (Python, SQLAlchemy, JWT Auth)
- Database: SQLite (local) or PostgreSQL (production recommended)
- Deployment: Vercel (frontend), Render (backend)
- User authentication (JWT)
- Role-based access (Admin, Manager, Employee)
- Product inventory management (CRUD)
- Order management and order history
- Category management
- User profile with image upload
- Users log (login/logout tracking)
- Fully responsive design with mobile-friendly navigation
- Install dependencies:
cd backend pip install -r requirements.txt - Run locally:
uvicorn app.main:app --reload
- API docs: Visit http://localhost:8000/docs
- Install dependencies:
cd frontend npm install - Set environment variable:
- Create
.env.localinfrontend/:NEXT_PUBLIC_API_URL=http://localhost:8000
- Create
- Run locally:
npm run dev
- Visit: http://localhost:3000
- Deploy the
backendfolder as a web service. - Set environment variables as needed (e.g.,
SECRET_KEY). - Note: For persistent file uploads, use AWS S3 or similar (Render disk is ephemeral).
- Deploy the
frontendfolder. - Set
NEXT_PUBLIC_API_URLto your Render backend URL in Vercel project settings.
- Profile images: For production, use S3 or another cloud storage for uploads.
- Responsive UI: The app is fully responsive and mobile-friendly.
- Role-based navigation: Admins see all features, Managers have limited access, Employees see only dashboard/account.
Feel free to contribute or open issues for improvements!