Skip to content

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.

License

Notifications You must be signed in to change notification settings

faksam/Maintenance-Tracker-App

Repository files navigation

Build Status Coverage Status Maintainability Test Coverage

Maintenance-Tracker-App

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)

Table of Content

Getting Started

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.

Technologies Used

UI & Templates

  1. HTML & CSS
  2. Javascript
  3. JQuery

Server Side

  1. NodeJS
  2. Express
  3. PostgreSql

Client Side

  1. Javascript

Dependencies

  • Postgres
  • Node

Installation

  1. Install Node JS.
  2. Install Postgres.
  3. Clone the repository here
  4. [cd] into the root of the project directory.
  5. Run npm install on the terminal to install Dependecies
  6. Create Postgresql database, Navigate to server directory and run migrations:
cd server
npm run migrations 
npm run seeders
  1. 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

  2. Start the application: Different Build Environment

Production

npm start

Development

npm run dev

Testing

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.

Features

Maintenance-Tracker-App consists of the following features:

Authentication

  • 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

  • Unauthenticated Users can view the landing and see how the app works
  • Unauthenticated Users can register

Authenticated Users

  • 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

Admin Users

  • 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

API Documentation

You can view the API Documentation here

Questions

For more details contact [email protected]

License

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

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published