Maintenance Tracker App is an application that provides users with the ability to reach out to operations or repairs department regarding repair or maintenance requests and monitor the status of their request. (by Faksam)
This is a javascript application written in ECMASCRIPT 6 and built with Express framework on the NodeJS platform. Codes are written in accordance with Airbnb JavaScript style guide. Authentication of users is done via JSON Web Tokens.
UI & Templates
- HTML & CSS
- Javascript
- JQuery
Server Side
- NodeJS
- Express
- PostgreSql
Client Side
- Javascript
- Postgres
- Node
- Install Node JS.
- Install Postgres.
- Clone the repository here
- [cd] into the root of the project directory.
- Run
npm install
on the terminal to install Dependecies - Create Postgresql database, Navigate to server directory and run migrations:
cd server
npm run migrations
npm run seeders
-
Create a
.env
file in the root directory of the application. Use a different database for your testing and development. Example of the content of a .env file is shown in the .env.sample -
Start the application: Different Build Environment
Production
npm start
Development
npm run dev
Sever side tests - Run npm test
on the terminal while within the project root directory.
Server side testing is achieved through use of chai-http
, mocha
and chai
packages. chai-http
is used to make requests to the api and mocha
is the testing framework and chai
is the exception library. They will both be installed when you run npm install
and the tests will run when you run npm test
.
Maintenance-Tracker-App consists of the following features:
- It uses JSON Web Token (JWT) for authentication.
- Token is generated on user login or when a new user signup
- Token is perpetually verified to check the state of the user if logged in or not.
- Admin User will br pre-seeded into the application with administrative priviledges
- Unauthenticated Users can view the landing and see how the app works
- Unauthenticated Users can register
- Authenticated Users can log in
- Authenticated Users can create a new request
- Authenticated Users can view all their requests
- Authenticated Users can view a specific request
- Authenticated Users can delete a specific request
- Authenticated Users can view their account details
- Authenticated Users can edit their account details
- Admins can view all requests
- Admins can approve a new/pending/disapproved request
- Admins can disapprove a new/pending/ request
- Admins can resolve a pending/disapproved request
You can view the API Documentation here
For more details contact [email protected]
This project is authored by Samuel Fakunle ([email protected]) and is licensed for your use, modification and distribution under the MIT license. MIT © Samuel Fakunle