https://github.com/apfirebolt/service-desk-management-application-in-express-and-vue
A service desk management application written in MEVN stack
https://github.com/apfirebolt/service-desk-management-application-in-express-and-vue
express mongoose tailwindcss vue vue-tailwind vuejs
Last synced: 2 months ago
JSON representation
A service desk management application written in MEVN stack
- Host: GitHub
- URL: https://github.com/apfirebolt/service-desk-management-application-in-express-and-vue
- Owner: Apfirebolt
- Created: 2022-07-17T20:20:33.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T23:57:58.000Z (over 2 years ago)
- Last Synced: 2025-01-21T00:49:19.279Z (4 months ago)
- Topics: express, mongoose, tailwindcss, vue, vue-tailwind, vuejs
- Language: Vue
- Homepage:
- Size: 1.71 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Service Desk Management Application





## Project Briefing
This is an Service Desk Management Software created in Vue, Express and MongoDB. Many corporations have their internal complaint resolution department for their employees to solve grievances. This is a sample app for one such hypothetical organization.
## Built With
* [Express](https://expressjs.com/)
* [Vue](https://vuejs.org/)
* [MongoDB](https://www.mongodb.com/)
* [Vuex](https://vuex.vuejs.org/)
* [Tailwind CSS](https://tailwindcss.com/)## Authors
* **Amit Prafulla (APFirebolt)** - (https://apgiiit.com/)
## Project setup
Simply install node modules for both frontend and backend, the project is already configured to serve build content files in production which is generated by Vue which resides inside the build folder.
Concurrently, package is used for development and allows us to launch both frontend and back-end in one go using single command. Proxy is used for API calls made to the Express server inside the Vue application using the config file.
```
npm install
npm run dev
```For production, build the frontend of the app and then run the backend app only.
```
npm run build
npm start
```## Database Architecture
The app contains users, complaints and departments models. Departments exist for segregation of complaints based on department. There is a 'userType' attribute inside user model aside from generic fields like email and password. This 'userType' field can have two enum values - Staff and Member.
Currently, admin is assigned the role of assigning complaints to 'staff' users. Admin can add a staff user and from complaints panel inside admin section can assign complaints to individual staff users. Staff users would have the leverage to alter the status of the complaints.
Department just have two fields - Name and Description which are self explanatory. Only Admin users have the privilege to perform CRUD operations on department model.
## Project Features
- Complaint System for Organization and people working within the organization.
- Has an Admin Panel
- Has a Staff Panel for users who are selected as staff by the admin user.
- Users can add complaints and view status.
- Complaints are segregated by department, CRUD on departments can be performed by admin.## Project Updates
- 19/10/22 - Added SEO Dynamic Meta tags using Vue-Meta package.
- 30/12/22 - Added Nginx conf file after testing. Build would be served with Nginx as reverse proxy
- 1/1/23 - Replaced normal text area in complaint description with vue-editor, complaint description would now be displayed as HTML.## Deployment
The project is planned to be deployed using Nginx and reverse proxy. Frontend build would be served on port 80 by Nginx. We'd have our back-end API running on port 5000. We'd configure Nginx to route all the traffic that begins with '/api' to port 5000 where we have our API running. The configuration file for Nginx which would achieve this is included in the repo.
## Project Screenshots
Screenshots would be added as progress is made with this application. Some pages of the admin pages are displayed below

Screenshot of the Profile page. User would land on this page after logging in.

## Project Status
The most important features of the project is complete and ready to use. There is a possibility of adding minor features like adding comments for resolved complaints in the future. The project approximately took one week time for completion, I was working on other projects including my organisation projects as well meanwhile.