The Asset Management Project is a comprehensive solution designed to help organizations efficiently manage their assets. This project provides functionalities for asset information, maintenance, asset allocation to users under admin, and dashboard viewing. The system is built with a user-friendly interface.
- Admin: Maintain detailed records of all Assigned Users, Locations, Departments, Product Types, Product Categories, and Roles.
- Dashboard: Displays information like Assets, Assigned/Unassigned Assets, Vendors, Locations, Products, Users, and Total Asset Cost in a tabular format along with Upcoming Warranty Expiries and Recent Activities Performed in the dashboard.
- Assets: Assign people to assets by adding them and a list to display all the assigned people with their respective assets.
- Upload: To generate a sample file or upload them for all the displayed data of Vendors, Locations, Departments, Product Types, Product Categories.
- Reporting and Analytics: Generate reports on asset performance, utilization, and maintenance history.
- User Management: Role-based access control to secure sensitive asset information.
- Integration: API support for integrating with other enterprise systems.
- Recycle Bin: Contains all the previously deleted files by the admin and also has functionality to restore them.
- Python 3.9+
- Mysql (Can be replaced by your preferred database)
- Docker (optional, for containerized deployment)
-
Clone the repository:
git clone https://github.com/yourusername/assetmanagement.git cd asseto-asset-management
-
Create and activate a virtual environment:
python -m venv env source env/bin/activate # On Windows use `env\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
cp .env.example .env
Edit the
.env
file with your preferred settings. -
Apply migrations:
python manage.py migrate
-
Start the development server:
python manage.py runserver
-
Open your browser and navigate to
http://localhost:8000
. -
Create a superuser if necessary:
python manage.py createsuperuser
You can use this project before downloading.
The project is hosted here.
Credentials:
email: [email protected]
password: DM4g476ZmQ$U
Log in with this credential and use the below features
- Navigate to the "Admin" section.
- Admin consists of five sections: Locations, Departments, Product Types, Product Categories, and Roles.
- Each section has its own functionalities where you can perform operations such as Add/Edit/Delete/View.
- Navigate to the "Vendors" section.
- Click the buttons as per your needs (Add/Edit/Delete/View vendors).
- Fill in the vendor details and click Save.
- Searching and downloading vendor details are also available.
- Navigate to the "Products" section.
- Click the buttons as per your needs (Add/Edit/Delete/View products).
- Fill in the product details and click Save.
- Searching and downloading product details are also available.
- Navigate to the "Users" section.
- Click the buttons as per your needs (Add/Edit/Delete/View users).
- Fill in the user details and click Save.
- Searching and downloading user details are also available.
- Navigate to the "Assets" section.
- Click the buttons as per your needs (Add/Edit/Delete/View assets).
- Fill in the asset details and click Save.
- Assigned Assets also contain a list of all the assets assigned to different individuals with search functionalities and Reassign/Unassign features.
- Navigate to the "Upload" section.
- Upload consists of five sections: Locations, Departments, Product Types, Product Categories, and Vendors.
- Each section has its own functionalities where you may either upload the data or download a sample.
- The Recycle Bin contains all the previously deleted files by the admin and also has functionality to restore them, divided by category.
To ensure the quality and reliability of the system, unit tests are written to test various functionalities of the project. You can run the tests to verify that the project works as expected.
-
Activate your virtual environment (if not already activated):
source env/bin/activate # On Windows use `env\Scripts\activate`
-
Run tests:
python manage.py test
This will run all the tests across the project.
-
Run tests for a specific app: If you want to run tests from a specific app, use the app name:
python manage.py test assets
-
Verbose Output: For more detailed output while running the tests, use the
-v
flag:python manage.py test -v 2
- Show test results without resetting the database:
python manage.py test --keepdb
Configuration options are managed via the .env
file. Key settings include:
- Database credentials
- SMTP server credentias
- Other service configurations
Copy the settings from .env.example
to .env
and modify as needed.
We welcome contributions! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes and commit them (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
Please ensure your code follows our coding standards.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any inquiries or support, please contact:
- Email: [email protected]
- Project Maintainer: Vyrazu Labs Ltd