{"id":13607161,"url":"https://github.com/schadokar/go-to-do-app","last_synced_at":"2025-04-07T07:15:29.637Z","repository":{"id":39458822,"uuid":"196123145","full_name":"schadokar/go-to-do-app","owner":"schadokar","description":"This is a to-do list application. It's server is created in Golang, db is mongodb and client is in React.","archived":false,"fork":false,"pushed_at":"2023-08-07T17:18:25.000Z","size":1300,"stargazers_count":218,"open_issues_count":18,"forks_count":124,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T06:03:40.884Z","etag":null,"topics":["golang","mongodb","react","reactjs","todoapp"],"latest_commit_sha":null,"homepage":"https://schadokar.github.io/go-to-do-app/","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/schadokar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"schadokar","patreon":"schadokar","open_collective":null,"ko_fi":"schadokar","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-07-10T03:18:45.000Z","updated_at":"2025-03-10T02:32:04.000Z","dependencies_parsed_at":"2024-01-13T16:25:33.443Z","dependency_job_id":null,"html_url":"https://github.com/schadokar/go-to-do-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schadokar%2Fgo-to-do-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schadokar%2Fgo-to-do-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schadokar%2Fgo-to-do-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schadokar%2Fgo-to-do-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schadokar","download_url":"https://codeload.github.com/schadokar/go-to-do-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608153,"owners_count":20965952,"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":["golang","mongodb","react","reactjs","todoapp"],"created_at":"2024-08-01T19:01:16.076Z","updated_at":"2025-04-07T07:15:29.611Z","avatar_url":"https://github.com/schadokar.png","language":"JavaScript","funding_links":["https://github.com/sponsors/schadokar","https://patreon.com/schadokar","https://ko-fi.com/schadokar"],"categories":["JavaScript","Available Apps"],"sub_categories":[],"readme":"# :memo: Go To Do App\n\nThis is a to-do list application. The complete tutorial is published on [my blog](https://schadokar.dev/posts/build-a-todo-app-in-golang-mongodb-and-react/).\n\n**Server: Golang  \nClient: React, semantic-ui-react  \nDatabase: Local MongoDB**\n\nThe offline version of application `Get Shit Done` is hosted at\n\n:link: https://schadokar.github.io/go-to-do-app/\n\n:link: http://getshitdone.surge.sh\n\n\u003e Offline to-do app instruction. [here](https://codesource.io/building-an-offline-to-do-app-with-react/)\n---\n\n# Highlights\n\n1. DB connection string, name and collection name moved to `.env` file as environment variable. Using `github.com/joho/godotenv` to read the environment variables.\n2. [feature/cloud-native-deployment](https://github.com/abdennour/go-to-do-app/tree/feature/cloud-native-deployment) provided by [abdennour](https://github.com/abdennour). Thank you [@abdennour](https://github.com/abdennour) to dockerize it. His features supports both Docker and Kubernetes.\n\n## Application Requirement\n\n### golang server requirement\n\n1. golang https://golang.org/dl/\n2. gorilla/mux package for router `go get -u github.com/gorilla/mux`\n3. mongo-driver package to connect with mongoDB `go get go.mongodb.org/mongo-driver`\n4. github.com/joho/godotenv to access the environment variable.\n\n### react client\n\nFrom the Application directory\n\n`create-react-app client`\n\n## :computer: Start the application\n\n1. Make sure your mongoDB is started\n2. Create a `.env` file inside the `go-server` and copy the keys from `.env.example` and update the DB connection string.\n3. From go-server directory, open a terminal and run\n   `go run main.go`\n4. From client directory,  \n   a. install all the dependencies using `npm install`  \n   b. start client `npm start`\n\n## :panda_face: Walk through the application\n\nOpen application at http://localhost:3000\n\n### Index page\n\n![](https://github.com/schadokar/go-to-do-app/blob/master/images/index.PNG)\n\n### Create task\n\nEnter a task and Enter\n\n![](https://github.com/schadokar/go-to-do-app/blob/master/images/createTask.PNG)\n\n### Task Complete\n\nOn completion of a task, click \"done\" Icon of the respective task card.\n\n![](https://github.com/schadokar/go-to-do-app/blob/master/images/taskComplete.PNG)\n\nYou'll notice on completion of task, card's bottom line color changed from yellow to green.\n\n### Undo a task\n\nTo undone a task, click on \"undo\" Icon,\n\n![](https://github.com/schadokar/go-to-do-app/blob/master/images/createTask.PNG)\n\nYou'll notice on completion of task, card's bottom line color changed from green to yellow.\n\n### Delete a task\n\nTo delete a task, click on \"delete\" Icon.\n\n![](https://github.com/schadokar/go-to-do-app/blob/master/images/deletetask.PNG)\n\n---\n\n## Author\n\n#### :sun_with_face: Shubham Kumar Chadokar\n\nI am software engineer and love to write articles and tutorials on golang, blockchain, and nodejs.  \nPlease checkout my other articles on :link: https://schadokar.dev :tada:\n\n# References\n\nhttps://godoc.org/go.mongodb.org/mongo-driver/mongo  \nhttps://www.mongodb.com/blog/post/mongodb-go-driver-tutorial  \nhttps://vkt.sh/go-mongodb-driver-cookbook/\n\n# License\n\nMIT License\n\nCopyright (c) 2019 Shubham Chadokar\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschadokar%2Fgo-to-do-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschadokar%2Fgo-to-do-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschadokar%2Fgo-to-do-app/lists"}