"Biskra Nadifa "(means a Clean Biskra) , is a Waste Managment platform aims to Solve the Random trash Problem that Biskra City is Struglling with through the Last years
our platform Targets 3 Categories :
-
Citizens : who are the citizens of biskra city , their Responsibiltiy is to report about the trash when they find it(sending that type of Trash , its Location , a Picture of it and an Optional Description of it if needed) and provide feedback by sending suggestions through our Mobile App
-
Driver : their main mission is to Go and clean the tasks that they were assigned to and update the status of that task when finished cleaning and that happen also using our mobile App
-
System User : they are the Link between citizens Reports , and Driver's Tasks , from a side they do validate the citizen reports ,(specifically by checking on the uploded picture of the trash ) and From the other Side Delegate the most suitable Trash Truck Driver to Clean it
- Java
- Maven
- Spring Framework
- Spring Boot
- Spring Data JPA
- Hibernate
- MySQL
- System User Module
- Truck Driver Module
- Citizen Module Module
-
System User Features :
- Administrator Role of the entire Application
- Checks the Validation of Submitted Reports
- Creates Tasks and Assign them to the suitable Driver
-
Citizen Features :
- Submit Reports With All Details (Report Type , Location , Picture for Proof ...)
- Submit Suggestion for FeedBack
-
Driver Features :
- View All Assigned Tasks to the Driver
- Update Assigned Tasks Status (Completed , Not Completed, on Proccess ...)
-
Before running the API server, you should update the database config inside the application.properties file.
-
By Default the Api's Will be running on port 8083
-
Update the port number, username and password as per your local database config.
server.port=8083
spring.datasource.url=jdbc:mysql://localhost:3306/biskranadifa_database
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
https://localhost:8083/
http://localhost:8083/swagger-ui/index.html#/
POST /citizens/Report
: Upload a reportPOST /citizens/suggestion/{citizenId}
: Upload a SuggestionGET /citizens/bins
: Get all BinsGET /citizens/trash-collection-schedule
: Get all trash collection schedule
GET /drivers/{driverId}/tasks
: Get all Tasks Assigned to the Driver with Given IDPATCH /drivers/{driverId}/{taskId}/update-task-status
: Update the status of given task
GET /dashboard/drivers
: Get all DriversPOST /dashboard/driver/create
: Create a DriverGET /dashboard/reports
: Get all ReportsGET /dashboard/reports/{reportId}
: Get Report with given IDDELETE /dashboard/reports/{reportId}
: Delete Report with Given IDGET /dashboard/suggestions
: Get all SuggestionsGET /dashboard/tasks
: Get all TasksGET /dashboard/task/{taskId}
: Get Task with given IDPUT /dashboard/assignTask/{reportId}/{systemuserId}/{driverId}
: Create Task with given Report ID, System User ID and Driver IDPATCH /dashboard/tasks/{taskId}/modifiy-driver
: modify the Assigned Driver of Task with a New DriverGET /dashboard/citizens
: Get all citizensGET /dashboard/systemusers
: Get all system UsersGET /dashboard/bins
: Get all binsPOST /dashboard/bin/create
: create a BinDELETE /dashboard/bin/{binId}
: delete a Bin with given IDGET /dashboard/trashcollectionSchedule
: Get a list of All trash Collection SchedulesGET /dashboard/trashcollectionSchedule/create
: create a trash Collection Schedule