*The project was uploaded with agreement of the company. Inventory Project is a comprehensive inventory management system for a company, leveraging Django and PostgreSQL. This solution streamlines authorization, offers tailored admin, moderator, and user interfaces, and features robust item management (CRUD, search, sort, filter) including QR code scanning. Enhanced efficiency by automating data integration from 1C accounting files for over 900 items, addressing previous issues of manual errors, data loss, and theft.
- Python
- Django
- Pandas
Please see requirements.txt
- I Made an Authorization and Authentication for users. There are three types of users(superuser, moderator, and ordinary user).
- SuperUser is Django Admin, so he/she has all permissions to do CRUD operations in Django.
- The moderator could register ordinary users and assign them as moderators, if it is necessary, and also do CRUD operations, but he/she cannot delete SuperUser, whereas SuperUser can.
- The ordinary user, when entering his/her dashboard, can see only an item assigned to him/her. The moderator, while registering the ordinary user, automatically sends a random password via email to that user.
- All users can restore passwords. The User can enter via the Login Page as admin, moderator, or user; all three will be redirected to personal dashboards.
- There are overall 4 models: the built-in User model with UserProfile model, CompanyModel, RoleModel, and ItemModel. UserProfile is connected via foreign keys to User, Company Model, and RoleModel.
- ItemModel is connected via foreign keys to the User and Company Model. When I delete one of them, the field is_active turns to False, which means that the record is not deleted, but not active anymore.
- Implemented CRUD method
- Authorization
- Authentication
- QR scanner
- Excel uploader