A dynamic robust expense management system made with django with api endpoints.
step 1. Install packages from requirements.txt
step 2. Make a superuser.
step 3. Make groups ["employee", "manager", "auditor"] from django admin dashboard or from shell
step 4. Assign the below permission to the above groups.
step 5. Create users either from the registration page or from the django admin panel and assign them to the necessary groups.
step 6. Create categories ["travel", "misc", "food", "accommodation", "training", "certification", "software purchase"]
- Manager can have all the expense and category permissions
- Employee can have only expense permission apart from change_status_expense
- Auditor can have only can_view_approve_expense
Home page: It can be accesible by the employee and manager. It shows all the pending expenses and rejected expenses. Status can be changed which can only be done by a manager.
Approved expenses page: It can be viewed by everyone it shows the expenses which has been approved.
Create expenses page: Expenses can be created only by the admins and by the employees. Status is automatically set to pending and submitted by is set to backend automatically.
api_urls = {
'List': '/expense-list',
'Detail View': '/expense-detail/<str:pk>/',
'Create': '/expense-create/',
'Update': '/expense-update/<str:pk>',
'Delete': '/expense-delete/<str:pk>'
}
WEB
1> Make a page to view individual submitted expenses.
2> Make a feature for employees to pick their designated manager from the department
API
1> Use Django Rest Framework authentication to handle the endpoints to see who is logged in and show results based on the roles.