This is a backend web server for Werden Desk Asset Application react frontend application.
This server is developed by Django Framework, PostgreSQL database nad hosted on heroku.
- Features
- How to install
- Emvironment variables
- Technology Used
- Behaviour Driven Development
- Authors Info
- Django 4.0+
- Profile and Projects API endpoints.
- Procfile for running gunicorn with New Relic's Python agent.
- PostgreSQL database support with psycopg2.
- Back-end Framework: Django (Version 4.0.3)
- Language: Python (Version 3.8.10)
Clone this repo, run:
git clone https://github.com/davidkiama/Backend-Asset-Inventory-Management-.git
Install the required pip in virtual environment, Refer to requirements.txt. Run:
#Install all dependecies
$ pip install -r requirements.txt
Remember to connect to a database and create migrations
# Make databases and make migrations
$ python manage.py makemigrations
$ python manage.py migrate
Create django superuser then run server in development
$ python manage.py createsuperuser
#4. Running the application
$ python3 manage.py runserver
These are common between environments. The ENVIRONMENT
variable loads the correct settings, possible values are: DEVELOPMENT
, STAGING
, PRODUCTION
.
ENVIRONMENT='DEVELOPMENT'
DJANGO_SECRET_KEY='you-will-never-guess'
DJANGO_DEBUG='True'
DB_NAME=DB_NAME
DB_USER=DB_OWNER
DB_PASSWORD=DB_PASSWORD
DB_HOST=*
CLOUDINARY_CLOUD_NAME=CLOUDINARY_NAME
CLOUDINARY_API_KEY=CLOUDINARY_API
CLOUDINARY_API_SECRET=CLOUDINARY_SECRET
Roles | Type | Created by | Functions |
---|---|---|---|
Employee | Regular User | Self registration userRole 1 or by the System Admin | View and Initiate asset mainteance request(s) |
Manager | Supervisor | Self registration userRole 2 or or by the System Admin | View and Approve or Reject employee(s) asset maintenance requests. Assign Assets to employee(s) |
System Admin | Django | SuperUser | System Administrator |
Module | Input | Output |
---|---|---|
Auth | Name, Email and Password | User authentication features: SignUp, Login and update account information |
Employee | Logged In user details | All employee defined view ports and actions. |
Manager | Logged In user details | All employee defined view ports and actions. |
Module | Author |
---|---|
Authentication | Lewis Murgor |
Manager App | John Kimani |
Employee App | David Kiama |