https://github.com/garvitchittora/impedia
Impedia is a centralized appeal management system or in more detail, it is a web application that will enable proper communication of issues or appeals made by students to appropriate faculty members or authorities for any organization, or in our use case, for IIITA.
https://github.com/garvitchittora/impedia
appeal backend faculty-members petitions students
Last synced: 8 months ago
JSON representation
Impedia is a centralized appeal management system or in more detail, it is a web application that will enable proper communication of issues or appeals made by students to appropriate faculty members or authorities for any organization, or in our use case, for IIITA.
- Host: GitHub
- URL: https://github.com/garvitchittora/impedia
- Owner: garvitchittora
- Created: 2021-01-14T09:53:01.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-06T06:27:37.000Z (about 3 years ago)
- Last Synced: 2025-07-09T01:05:06.544Z (12 months ago)
- Topics: appeal, backend, faculty-members, petitions, students
- Language: JavaScript
- Homepage: https://impedia.herokuapp.com/
- Size: 84.6 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
A centralized appeal management system.
---
About •
Installation •
Getting Started •
Testing
---
# About
Impedia is a centralized appeal management system or in more detail, it is a web application which will enable proper communication of issues or appeals made by students to appropriate faculty members or authorities for any organization, or in our use case, for IIITA.
It aims to:
* Enable proper communication of issues or appeals made by students to appropriate faculty members or authorities
* Increase the efficiency of the current appeal mechanism(email) and prevent flooding of inboxes
* Give common issues a platform in the form of petitions
* Have a flexible structure so any organization can host their separate version and their admin can add their respective authorities, faculty groups and specify their email domain so students under that domain can join the platform.
# Installation
### Host System Package Dependencies
* NodeJS
* NPM
* MongoDB
```sh
git clone https://github.com/garvitchittora/Impedia
cd Impedia
```
Terminal Instance 1: Backend
```sh
cd backend
npm install
npm start
```
Terminal Instance 1: Frontend
```sh
cd frontend/impedia
npm install
npm start
```
and navigate to `localhost:3000` in your browser. The Backend API will be running at `localhost:3001`
# Getting Started
First you have to generate admin credentials. Open another terminal in the backend folder and run
```sh
npm run generate-admin
```
This will generate Admin credentials you can use to login as an admin.
As an admin you now add emails for authorities of your organization, and they will be sent invitation emails to join the platform.
You can then add your organization domain and then students with emails under that domain would be able to come and register for the platform.
And thats it! Thats all the setup needed, the students can now make appeals/petitions and authorities can respond to them while admin can overlook all activities happening on the platform.
# Testing
The project includes unit tests for testing all the routes and controllers, written using jest and supertest.
```sh
cd backend
npm install
```
Run all tests
```sh
npm run test
```
Get coverage of unit tests
```sh
npm run coverage
```