This GitHub repository hosts the foundational backend components of the HiROB project, consisting of a RESTful API designed for seamless interaction with both the HiROB frontend and the HiROB robot. The core-backend will be developed using the Go programming language.
HiROB is an educational initiative dedicated to enhancing children's arithmetic intelligence by offering an engaging and effective learning experience in the realms of algorithms, coding, and software development.
- 1. Discuss the project's backend structure and select the tools.
- 2. Create a RESTful API using the designated framework.
- 3. Discuss the project's database structure with other teams and select the tools.
- 4. Create a Dockerfile.
- 5. Create a database scheme.
- 6. Create database models.
- 7. Create database migrations.
- 8. Create middlewares.
- 9. Create routes for front-end communication.
- 10. Create handlers for front-end routes.
- 11. Create routes for MQTT communication.
- 12. Create handlers for MQTT routes.
- 13. Test the API's endpoints.
-
Design and Implement Scalable Infrastructure: Ensure the server infrastructure scales efficiently to meet the demands of the users and services.
-
Ensure Data Integrity and Security: Safeguard all user data, making certain it's not only secure from potential threats but also stored accurately and consistently.
-
Provide Seamless Integration: Develop robust and versatile APIs that allow for easy integration with the frontend and any other potential external systems or services.
-
Maintain High Availability and Performance: Ensure that the backend services remain available with minimal downtime and respond swiftly to user requests.
-
Facilitate Continuous Integration/Continuous Deployment (CI/CD): Implement processes that allow for continuous integration and deployment of backend features and fixes, ensuring the most recent and stable version of the system is always live.
-
Stay Updated and Innovate: Continually learn about the latest technologies and best practices in backend development and consider how they might be implemented to improve our system.
-
Collaborate and Communicate: Work closely with other teams, especially the frontend team and the operations team, to ensure that there's clear communication and alignment in terms of requirements, implementations, and deployments.
- By achieving these goals, we aim to provide a reliable, efficient, and effective backend that powers the entire application ecosystem.
Dilara DOĞAN ( Team Leader )
Hüsamettin ARABACI ( Senior Developer )