{"id":15175718,"url":"https://github.com/navaneeth-21/educase_assignment","last_synced_at":"2026-01-30T14:20:53.549Z","repository":{"id":254663292,"uuid":"847198874","full_name":"Navaneeth-21/Educase_Assignment","owner":"Navaneeth-21","description":"Implementing a set of APIs using Node.js, Express.js framework, and MySQL to manage school data. The Application will allow users to add new schools and retrieve a list of schools sorted by proximity to a user-specified location .","archived":false,"fork":false,"pushed_at":"2024-08-26T06:38:42.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T22:46:12.615Z","etag":null,"topics":["clevercloud","expressjs","geolib","joi-validation","mysql-database","mysql2","nodejs","render-deployment","rest-api"],"latest_commit_sha":null,"homepage":"https://educase-assignment-lnml.onrender.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Navaneeth-21.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T06:12:27.000Z","updated_at":"2024-08-26T06:38:45.000Z","dependencies_parsed_at":"2024-09-23T06:02:40.568Z","dependency_job_id":"e2a29b51-6c81-4b21-84e5-8fab69858ca4","html_url":"https://github.com/Navaneeth-21/Educase_Assignment","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"6e12dff32156070092edd790f06ff14f1cb1ceb9"},"previous_names":["navaneeth-21/educase_assignment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navaneeth-21%2FEducase_Assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navaneeth-21%2FEducase_Assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navaneeth-21%2FEducase_Assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navaneeth-21%2FEducase_Assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Navaneeth-21","download_url":"https://codeload.github.com/Navaneeth-21/Educase_Assignment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240139175,"owners_count":19754061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clevercloud","expressjs","geolib","joi-validation","mysql-database","mysql2","nodejs","render-deployment","rest-api"],"created_at":"2024-09-27T12:40:35.329Z","updated_at":"2026-01-30T14:20:53.506Z","avatar_url":"https://github.com/Navaneeth-21.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NodeJs Assignment\nImplementing a set of APIs using Node.js, Express.js framework, and MySQL to manage school data. The Application will allow users to add new schools and retrieve a list of schools sorted by proximity to a user-specified location\n- It consists of following endpoints:\n   - **POST REQUEST** ( '/addschool' ) =\u003e Validates the input data and adds a new school to the schools table .\n   - **GET REQUEST** ('/listschool' ) =\u003e Fetches all schools from the database, sorts them based on proximity to the user's location, and returns the sorted list .\n- The Application is hosted on render hosting service\n\n### Technolgies and Tools :\n- NodeJS\n- ExpressJS\n- MYSQL\n- JOI\n- Geolib library\n\n## Application Setup\n\n1. Clone the repository.\n2. Install all the required dependencies\n   ```sh\n   npm install\n\n3. Intially create your database locally on MYSQL workbench or on any cloud provider.\n   \n     **Database setup**\n   - Create a schools table in MySQL with the following fields:\n     - id (Primary Key)\n     - name (VARCHAR)\n     - address (VARCHAR)\n     - latitude (FLOAT)\n     - longitude (FLOAT)\n\n4. Replace the fields in the .env file with your details. which consists of follwing fields :\n    - DB_HOST\n    - DB_USER\n    - DB_PASSWORD\n    - DB_NAME\n    \n5. Run the application\n   ```sh\n   npm run start\n\n6. Navigate to the \u003ca href=\"http://localhost:4000\"\u003eLink\u003c/a\u003e in your Browser\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavaneeth-21%2Feducase_assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnavaneeth-21%2Feducase_assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavaneeth-21%2Feducase_assignment/lists"}