{"id":15019983,"url":"https://github.com/docker/getting-started-todo-app","last_synced_at":"2025-04-09T16:20:09.137Z","repository":{"id":230937969,"uuid":"751947018","full_name":"docker/getting-started-todo-app","owner":"docker","description":"Sample application to get started with Docker","archived":false,"fork":false,"pushed_at":"2024-08-08T11:24:49.000Z","size":4550,"stargazers_count":53,"open_issues_count":22,"forks_count":198,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-09T16:20:01.465Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/docker.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-02-02T17:14:36.000Z","updated_at":"2025-04-07T18:26:18.000Z","dependencies_parsed_at":"2024-04-24T00:23:51.603Z","dependency_job_id":"8580492b-4188-4e4f-a539-325910078cc0","html_url":"https://github.com/docker/getting-started-todo-app","commit_stats":{"total_commits":15,"total_committers":2,"mean_commits":7.5,"dds":"0.19999999999999996","last_synced_commit":"da5f2502b8ce04b0905968ebe939d60114f58b4f"},"previous_names":["docker/getting-started-todo-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker%2Fgetting-started-todo-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker%2Fgetting-started-todo-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker%2Fgetting-started-todo-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker%2Fgetting-started-todo-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/docker","download_url":"https://codeload.github.com/docker/getting-started-todo-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065281,"owners_count":21041872,"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":[],"created_at":"2024-09-24T19:54:24.953Z","updated_at":"2025-04-09T16:20:09.113Z","avatar_url":"https://github.com/docker.png","language":"JavaScript","readme":"# Getting Started Todo App\n\nThis project provides a sample todo list application. It demonstrates all of\nthe current Docker best practices, ranging from the Compose file, to the\nDockerfile, to CI (using GitHub Actions), and running tests. It's intended to \nbe a well-documented to ensure anyone can come in and easily learn.\n\n## Application architecture\n\n![image](https://github.com/docker/getting-started-todo-app/assets/313480/c128b8e4-366f-4b6f-ad73-08e6652b7c4d)\n\n\nThis sample application is a simple React frontend that receives data from a\nNode.js backend. \n\nWhen the application is packaged and shipped, the frontend is compiled into\nstatic HTML, CSS, and JS and then bundled with the backend where it is then\nserved as static assets. So no... there is no server-side rendering going on\nwith this sample app.\n\nDuring development, since the backend and frontend need different dev tools, \nthey are split into two separate services. This allows [Vite](https://vitejs.dev/) \nto manage the React app while [nodemon](https://nodemon.io/) works with the \nbackend. With containers, it's easy to separate the development needs!\n\n## Development\n\nTo spin up the project, simply install Docker Desktop and then run the following \ncommands:\n\n```\ngit clone https://github.com/docker/getting-started-todo-app\ncd getting-started-todo-app\ndocker compose up -d\n```\n\nYou'll see several container images get downloaded from Docker Hub and, after a\nmoment, the application will be up and running! No need to install or configure\nanything on your machine!\n\nSimply open to [http://localhost](http://localhost) to see the app up and running!\n\nAny changes made to either the backend or frontend should be seen immediately\nwithout needing to rebuild or restart the containers.\n\nTo help with the database, the development stack also includes phpMyAdmin, which\ncan be access at [http://db.localhost](http://db.localhost) (most browsers will \nresolve `*.localhost` correctly, so no hosts file changes should be required).\n\n### Tearing it down\n\nWhen you're done, simply remove the containers by running the following command:\n\n```\ndocker compose down\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocker%2Fgetting-started-todo-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdocker%2Fgetting-started-todo-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocker%2Fgetting-started-todo-app/lists"}