A robust and modern Full-Stack Invoice Management System designed to streamline or organize your invoicing process. Built with power and scalability in mind using Django REST Framework and React.
- User Authentication: Secure Sign Up and Sign In functionality.
- Dashboard: Interactive and responsive dashboard.
- Invoice Management: Create, Read, and View detailed invoices.
- Itemization: Add multiple items to invoices with dynamic rate and quantity calculations.
- REST API: Fully documented API endpoints for easy integration.
- Responsive Design: Built with Bootstrap for mobile-friendly usage.
- Framework: Django & Django REST Framework
- Database: SQLite (Default) / PostgreSQL (Compatible)
- Authentication: JWT / Session
- Library: React.js
- Styling: Bootstrap 5
- Routing: React Router DOM
FullStack-Invoice-System/
├── invoicingApp/ # Django Backend App
├── invoicingUI/ # React Frontend Application
├── invoiving/ # Django Project Configuration
├── manage.py # Django Management Script
└── db.sqlite3 # Database
Follow these instructions to get a copy of the project up and running on your local machine.
- Python 3.8+
- Node.js & npm
-
Clone the repository
git clone https://github.com/SoumojitDalui/FullStack-Invoice-System.git cd FullStack-Invoice-System -
Create a Virtual Environment
python -m venv env source env/bin/activate # On Windows use `env\Scripts\activate`
-
Install Dependencies
pip install django djangorestframework django-cors-headers
-
Run Migrations
python manage.py migrate
-
Start the Server
python manage.py runserver
The backend will be available at
http://127.0.0.1:8000/.
-
Navigate to the frontend directory
cd invoicingUI -
Install Dependencies
npm install
-
Start the Development Server
npm start
The app will automatically open at
http://localhost:3000/.
| Method | Endpoint | Description |
|---|---|---|
POST |
/user/signup/ |
Register a new user |
POST |
/user/login/ |
User login |
GET |
/invoices/ |
List all invoices |
POST |
/invoices/new/ |
Create a new invoice |
GET |
/invoices/<id>/ |
flexible invoice details |
POST |
/invoices/<id>/items/ |
Add items to an invoice |
(Add your screenshots here)
Contributions, issues, and feature requests are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.