{"id":27203206,"url":"https://github.com/wnderbin/to-do-flow-api","last_synced_at":"2025-09-14T18:46:50.498Z","repository":{"id":286996170,"uuid":"963186380","full_name":"wnderbin/To-Do-Flow-API","owner":"wnderbin","description":"Manage your todo lists quickly and efficiently right on the server","archived":false,"fork":false,"pushed_at":"2025-04-18T13:46:00.000Z","size":60,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-18T21:44:14.238Z","etag":null,"topics":["api","go","golang","rest-api","web"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wnderbin.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,"zenodo":null}},"created_at":"2025-04-09T09:40:22.000Z","updated_at":"2025-04-18T13:46:03.000Z","dependencies_parsed_at":"2025-04-09T12:20:10.357Z","dependency_job_id":"bc9e8c8c-e104-4e41-8bcf-5720526ba484","html_url":"https://github.com/wnderbin/To-Do-Flow-API","commit_stats":null,"previous_names":["wnderbin/to-do-flow-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wnderbin/To-Do-Flow-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wnderbin%2FTo-Do-Flow-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wnderbin%2FTo-Do-Flow-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wnderbin%2FTo-Do-Flow-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wnderbin%2FTo-Do-Flow-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wnderbin","download_url":"https://codeload.github.com/wnderbin/To-Do-Flow-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wnderbin%2FTo-Do-Flow-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275151394,"owners_count":25414441,"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-14T02:00:10.474Z","response_time":75,"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":["api","go","golang","rest-api","web"],"created_at":"2025-04-09T22:29:07.893Z","updated_at":"2025-09-14T18:46:50.432Z","avatar_url":"https://github.com/wnderbin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ToDoFlow API\n\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-todoflow\"\u003eAbout ToDoFlow API\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#project-status\"\u003eProject status\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#api-documentation\"\u003eAPI documentation\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#dependencies\"\u003eDependencies\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation-and-launch\"\u003eInstallation \u0026 Launch\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#if-you-are-running-the-application-using-docker-i-recommend-making-sure-that-the-configuration-file-looks-like-this\"\u003e Launch with docker-compose\u003c/a\u003e \u003c/li\u003e\n        \u003cli\u003e \u003ca href=\"#if-you-are-running-the-project-locally\"\u003e Launch locally \u003c/a\u003e \u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#project-structure\"\u003eProject structure\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#author\"\u003eAuthor\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## About ToDoFlow\n\nManage your todo lists quickly and efficiently right on the server.\n\n![GitHub Actions](https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge\u0026logo=githubactions\u0026logoColor=white)\n\n### Built with:\n\n![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge\u0026logo=go\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![Alpine Linux](https://img.shields.io/badge/Alpine_Linux-%230D597F.svg?style=for-the-badge\u0026logo=alpine-linux\u0026logoColor=white)\n![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n![Redis](https://img.shields.io/badge/redis-%23DD0031.svg?style=for-the-badge\u0026logo=redis\u0026logoColor=white)\n\n## Project status\nHere is information about how the project will work on its different versions. \\\nCurrent version of the project: (+/-)\n* Launch in a containers: +\n* Launch workflows: +\n* Run locally via makefile: +\n* Dependencies (What you should have pre-installed before starting a project): Postgres \u0026 Redis\n\n\n## Getting Started\n\nInstructions on how to run a project locally\n\n### API documentation\n\nYou can see the documentation in the directory ![api/docs](https://github.com/wnderbin/To-Do-Flow-API/tree/main/api/docs)\n\n### Dependencies\n\n* **CLEAN ENV** - github.com/ilyakaznacheev/cleanenv\n* **UUID** - github.com/google/uuid\n* **GORM** - gorm.io/gorm\n* **GIN** - github.com/gin-gonic/gin\n* **MIGRATE/V4** - github.com/golang-migrate/migrate/v4\n* **GO-REDIS** - github.com/redis/go-redis/v9\n\n\n```\ngo mod download\n```\n\n### Installation and Launch\n\n\n\n```\ngit clone https://github.com/wnderbin/To-Do-Flow-API # clone the repository\n```\n\n#### !!!! Before you run the project, I recommend making sure that the project settings are correct. You can view and change them in the config.yaml file in the config directory.\n#### If you are running the application using Docker, I recommend making sure that the configuration file looks like this:\n\n```\nenv: \"prod\"\n\npostgres:\n  host: \"postgres\"\n  port: 5432\n  user: \"wnd\"\n  password: \"123\"\n  dbname: \"wnd\"\n  sslmode: \"disable\"\n  workflow_status: 0 # 1 - workflow (tests) status / 0 - launch status\n\nredis:\n  address: \"redis:6379\"\n  password: \"\"\n  db: 0\n  workflow_status: 0 # 1 - workflow (tests) status / 0 - launch status\n\nhttp_server:\n  address: \"0.0.0.0:8080\"\n  timeout: 4s\n  idle_timeout: 60s\n```\n\n#### And run the project:\n\n```\ndocker compose up --build # run the project\ndocker compose down -v # stop the project\ndocker volume ls # view saved database records\ndocker volume rm pgdata # delete database entries\n```\n\n--------------------\n\n#### If you are running the project locally:\n\n```\nenv: \"prod\"\n\npostgres:\n  host: \"localhost\"\n  port: 5432\n  user: \"wnd\"\n  password: \"123\"\n  dbname: \"wnd\"\n  sslmode: \"disable\"\n  workflow_status: 0 # 1 - workflow (tests) status / 0 - launch status\n\nredis:\n  address: \"localhost:6379\"\n  password: \"\"\n  db: 0\n  workflow_status: 0 # 1 - workflow (tests) status / 0 - launch status\n\nhttp_server:\n  address: \"0.0.0.0:8080\"\n  timeout: 4s\n  idle_timeout: 60s\n```\n\n#### !!! Before running the project, make sure that your PostgreSQL \u0026 Redis database is running with the following parameters. (If you run the application with docker-compose, you don't need to make sure of this, since docker will deploy and do everything itself.):\n#### Postgres\n* **wnd** - user\n* **123** - password\n* **wnd** - database\n* **localhost** - address\n* **5432** - port\n#### Redis\n* **localhost** - address\n* **_** - password (empty)\n* **db=0** \n\n#### And run the project with the command:\n```\ncd To-Do-Flow-API\n1. make go-run # launch\n2. make go-compile # compile \u0026 launch\n```\n\n## Project structure\n\n**.github** - CI/CD \\\n**api/docs** - documentation about ToDoFlow project \\\n**cmd** - main applications of the ToDoFlow project \\\n**config** - application configuration \\\n**internal** - internal code of the application and libraries \\\n**migrations** - database migrations \\\n**models** - database structure/models\n\n## License\nBefore using the project, it is recommended to read the license\n\n## Author:\n* wnderbin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwnderbin%2Fto-do-flow-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwnderbin%2Fto-do-flow-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwnderbin%2Fto-do-flow-api/lists"}