{"id":22547473,"url":"https://github.com/matsjfunke/react-fastapi-todo","last_synced_at":"2026-04-12T13:36:55.259Z","repository":{"id":241007616,"uuid":"791523373","full_name":"matsjfunke/react-fastapi-todo","owner":"matsjfunke","description":"basic todo app with fastapi backend and react frontend","archived":false,"fork":false,"pushed_at":"2024-12-24T00:36:04.000Z","size":881,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-01T07:21:27.838Z","etag":null,"topics":["bootstrap","docker","fastapi","python","react","sqalchemy","sqlite"],"latest_commit_sha":null,"homepage":"","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/matsjfunke.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-24T21:43:16.000Z","updated_at":"2025-07-21T19:56:00.000Z","dependencies_parsed_at":"2024-05-21T23:21:51.787Z","dependency_job_id":"3ee46135-581d-4ccf-ae7e-bb2e8a9b621f","html_url":"https://github.com/matsjfunke/react-fastapi-todo","commit_stats":null,"previous_names":["matsjfunke/react-fastapi-todo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/matsjfunke/react-fastapi-todo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsjfunke%2Freact-fastapi-todo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsjfunke%2Freact-fastapi-todo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsjfunke%2Freact-fastapi-todo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsjfunke%2Freact-fastapi-todo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matsjfunke","download_url":"https://codeload.github.com/matsjfunke/react-fastapi-todo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matsjfunke%2Freact-fastapi-todo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274505365,"owners_count":25298243,"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","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"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":["bootstrap","docker","fastapi","python","react","sqalchemy","sqlite"],"created_at":"2024-12-07T15:11:59.350Z","updated_at":"2026-04-12T13:36:55.217Z","avatar_url":"https://github.com/matsjfunke.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Demo\n![GIF Demo](./demo.gif)\n\n# Usage / Quick-Start\n\n```bash\n# clone repo\ngit clone https://github.com/matsjfunke/react-fastapi-todo.git\n# start docker containers\ndocker-compose -f docker-compose.yml up\n```\n- access frontend @ localhost:3000 and test it out\n- access backend @ localhost:8000/docs for testing the endpoints,\n  or @ localhost:8000/openapi.json To generate the OpenAPI (formerly Swagger) documentation. \n\n\n# Comunication between react \u0026 fastapi\n\n- this api.js file tells frontend where backend is located\n    ```javascript\n    /*\n    api.js creates an Axios instance named api with a base URL of http://localhost:8000,\n    which can be imported / used throughout the frontend app \n    to send HTTP requests to the specified server.\n    */\n    import axios from 'axios'\n\n    const api = axios.create({\n        baseURL: 'http://localhost:8000',\n    })\n\n    export default api;\n    ```\n\n- Cross-Origin Resource Sharing allows React frontend to access backend endpoints\n    ```python\n    origins = [\n        # react app runs there\n        \"http://localhost:3000\"\n    ]\n\n    app.add_middleware(\n        CORSMiddleware,\n        allow_origins=origins,\n        allow_credentials=True,\n        allow_methods=[\"*\"],\n        allow_headers=[\"*\"]\n    )\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatsjfunke%2Freact-fastapi-todo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatsjfunke%2Freact-fastapi-todo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatsjfunke%2Freact-fastapi-todo/lists"}