iReporter enables any/every citizen to bring any form of corruption to the notice of appropriate authorities and the general public. Users can also report on things that needs government intervention.
iReporter consist of the following features:
- Users can sign Up or sign In
- Users can get all Red-Flags
- Users can get a Red-Flag by ID
- Users can add new Red-Flag
- Users can update a Red-Flag
- Users can delete a Red-Flag
iReporter makes use of modern technologies. The core ones are:
- ECMAScript 6: Also known as ES2015, this is a version of Javascript with next-generation features like arrow functions, generators, enhanced object literals, spread operators and more. The ES2015 is used in many areas of this project. See this link for details.
- NodeJS: Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code on the server-side. See this link for details.
- ExressJS: ExpressJS, is a web application framework for Node.js, It is designed for building web applications and APIs. see this link.
- Major codes are written using the Airbnb javascript style guide, see this link for details.
- Clone the repository:
https://github.com/Raymond-Osy/iReporter.git
- Navigate into the cloned repository:
cd iReporter
- Install dependencies.
npm install
- Start the application
npm run dev
- Install postman to test all endpoints
- to test run
npm test
| Http verb | Endpoint | Action |
|---|---|---|
| GET | /redFlags | Get all Red-Flags |
| GET | /redFlags/(redFlagId) | Get a Red-Flag with the given ID |
| POST | /redFlags | Create a new Red-Flag |
| PUT | /redFlags/(redFlagId) | Update a Red-Flag with the given ID |
| DELETE | /redFlags/(redFlagId) | Delete Red-Flag with the given ID |
| POST | /auth/signup | user creates an account |
| POST | /auth/login | user logs in to account |
| POST | /interventions | Create a new Intervention |
| GET | /interventions | Get all Intervention |
| GET | /interventions/:id | Get a specific intervention |
| PATCH | /interventions/:id/location | Updates a location in a given intervention |
| PATCH | /interventions/:id/comment | Updates a comment in a given intervention |
| PATCH | /interventions/:id/status' | Admin Updates a status in a given intervention |
| DELETE | /intervention/:id | Delete Intervention with the given ID |
Project still in progress...