This application is part of an Invoicing Web Application. For each user, we have multiple clients, having multiple invoices, which have various items. The aim is to track the invoice, if it is paid or not, and download the invoice for future reference.
Built an Invoicing Web Application with the following features
- Login/Sign-up(Using Djoser)
- Adding Clients
- Adding items to new invoices corresponding to clients
- Displaying the list of items for an invoice
- Pay button for the invoices
- Edit team for a user, for now, one user only has one team.
- Downloading invoice as pdf (using wkhtmltopdf), displaying client, item, gross amount for all items, team details.
Use the below code to install python related dependencies
cd invoicely
pip install -r requirements.txt
Use the below code to install Javascript-related dependencies. This is frontend project git hub repo
npm install bulma
cd invoicely
python manage.py runserver
cd invoicely_vue
npm run serve
Following are the api endpoints for this app.
Name | URL | Description |
---|---|---|
SIGNUP | /sign-up | Signing up using username, password, email |
LOGIN | /log-in | Logging in using username, password |
CLIENTS | /dashboard/clients | Display information about clients |
ADD CLIENTS | /dashboard/add | Allows user to add client |
VIEW CLIENT | /dashboard/clients/pk | To view details of client |
EDIT CLIENT | /dashboard/clients/pk/edit | To edit information about client |
INVOICES | /dashboard/invoices | List all the invoices |
INVOICE DETAILS | /dashboard/invoices/pk | List invoice items, client detail |
DOWNLOAD INVOICE | /dashboard/invoices/pk/generate_pdf/ | Downloads invoices |
ADD INVOICE | /dashboard/invoices/add | Add invoice with multiple items corresponding to a client |
MY ACCOUNT | /dashboard/my-account | Team details and sign-out option |
EDIT TEAM | /dashboard/my-account/edit-team | Edit team for a user. |
This project is inspired by this video by code with stein