-
As an irrigation system which helps the automatic irrigation of agricultural lands without human intervention, system has to be designed to fulfil the requirement of maintaining and configuring the plots of land by the irrigation time slots and the amount of water required for each irrigation period. The irrigation system should have integration interface with a sensor device to direct letting the sensor irrigate based on the configured time slots/amount of water. find more details.
-
The solution provided as:
-
- (REST API) End point
/api/v1/plots - Scheduler to run background job:
- retrieve plots which their time to be irrigated now or passed with failure.
- alert job which responsible about sending alert when the irrigating job scheduler failed to recall the sensor configured number of time
- Database entities:
- Find table create sql schema.sql
- Find data seed data.sql
- (REST API) End point
-
Frontend (Angular13) GitHub Repo:
- One Module which is responsible about calling Backend REST end-point:
- create new land plot
- delete plot
- update (update and configure plot of land)
- read retrieve plots details
- One Module which is responsible about calling Backend REST end-point:
-
-
- Create database called
irrgationand change theapplication.propertieswith your credential. - Import the project into your IDE and install the dependencies then run the main application.
- You can find the service in you browser @ localhost:8080.
- Check Postman Collection.
- check frontend repo for easy UI to check the system functions.
- The scheduled jobs can be tracked using the console logs or check Scheduler Dashboard.
- Create database called
-
-
- Secure the end points.
- Full Unit tests.
- Integration test.
- Response Strategies for each status code.
- Swagger the end point with postman collection.
- Database more entities which help the business.
-
- UI/UX fixes.
- Use angular forms validations.
- Handle more response status code.
- Integrate With backend Authentication.
-
Moustafa-Elgammal/automatic-irrigation-system-backend
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|