{"id":21849501,"url":"https://github.com/salvatoreamaddio/flask-api","last_synced_at":"2026-04-19T10:35:31.371Z","repository":{"id":230986229,"uuid":"780470141","full_name":"SalvatoreAmaddio/Flask-API","owner":"SalvatoreAmaddio","description":"Resultful API made in Python","archived":false,"fork":false,"pushed_at":"2024-05-17T01:38:03.000Z","size":16756,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T17:54:55.001Z","etag":null,"topics":["flask","google-api","google-maps-api","json-web-token","mysql","post-man","postman","python","restful-api","sqlalchemy","webtoken"],"latest_commit_sha":null,"homepage":"https://salvatoreamaddio.co.uk/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SalvatoreAmaddio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-04-01T14:52:44.000Z","updated_at":"2024-05-17T01:38:32.000Z","dependencies_parsed_at":"2024-05-17T02:41:42.424Z","dependency_job_id":null,"html_url":"https://github.com/SalvatoreAmaddio/Flask-API","commit_stats":null,"previous_names":["salvatoreamaddio/flaskassessment","salvatoreamaddio/flask-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SalvatoreAmaddio/Flask-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatoreAmaddio%2FFlask-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatoreAmaddio%2FFlask-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatoreAmaddio%2FFlask-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatoreAmaddio%2FFlask-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SalvatoreAmaddio","download_url":"https://codeload.github.com/SalvatoreAmaddio/Flask-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatoreAmaddio%2FFlask-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32004041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["flask","google-api","google-maps-api","json-web-token","mysql","post-man","postman","python","restful-api","sqlalchemy","webtoken"],"created_at":"2024-11-28T00:13:11.490Z","updated_at":"2026-04-19T10:35:31.328Z","avatar_url":"https://github.com/SalvatoreAmaddio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask RESTful API\nThe assessment is a back-end-only Python application by Flask that runs on the web.\nThe application interrogates a local MySQL database through API endpoints, which\nallow data fetching and all CRUD operations. To protect the endpoints from\nunauthorised access, a JSON Web Token system has been implemented. The session's\ntimeout is 30 minutes. \n\nHowever, the web token is refreshed at every request to guarantee the use of the\napplication without interruptions. The application also handles error inputs that the\nUser might run into, preventing the application from crashing. In case of human error,\nthe User can remake a request by providing the right inputs.\nRequests can be made through the website Postman. However, to perform some\nrequests, the desktop version of the service has to be installed.\n\nA database is created on the application startup, and some data are uploaded. This\nprocess is performed only once, meaning data will not be overwritten. The database has\ntwo tables joined by a One to One relationship. The table Student comes with a sample\ndataset whilst the Address table is empty. An additional table, User, hosts information\nabout users in order to perform login operations. A default user is added with the\nfollowing credentials:\n\nemail: guest@xandertalent.com\npassword: Welcome_to_this_assessment01\n\nFinally, the application provides an additional endpoint to interact with Google's\nGeocoding API. By passing the StudentID, the application can interrogate Google's API\nusing latitude and longitude as parameters. This will return an address, which will be\ninserted into the address table\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalvatoreamaddio%2Fflask-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalvatoreamaddio%2Fflask-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalvatoreamaddio%2Fflask-api/lists"}