{"id":18020672,"url":"https://github.com/dmitriykolesnikm8o/distributed-task-system","last_synced_at":"2026-04-04T21:32:37.136Z","repository":{"id":260129149,"uuid":"869328195","full_name":"DmitriyKolesnikM8O/Distributed-Task-System","owner":"DmitriyKolesnikM8O","description":"Pet Project with microservices, Clean Code Architecture, REST API, Docker, Redis, Postgres, Grafana and Prometheus","archived":false,"fork":false,"pushed_at":"2024-10-29T17:26:57.000Z","size":13637,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T17:16:43.908Z","etag":null,"topics":["clean-architecture","ddd","ddd-architecture","docker","docker-compose","git","github","go","golang","grafana","logs","microservices","microservices-architecture","mux","postgresql","prometheus","redis","testing","yml"],"latest_commit_sha":null,"homepage":"","language":"Go","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/DmitriyKolesnikM8O.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-10-08T05:44:01.000Z","updated_at":"2024-10-29T17:27:01.000Z","dependencies_parsed_at":"2024-10-29T19:06:41.058Z","dependency_job_id":null,"html_url":"https://github.com/DmitriyKolesnikM8O/Distributed-Task-System","commit_stats":null,"previous_names":["dmitriykolesnikm8o/distributed-task-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitriyKolesnikM8O%2FDistributed-Task-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitriyKolesnikM8O%2FDistributed-Task-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitriyKolesnikM8O%2FDistributed-Task-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitriyKolesnikM8O%2FDistributed-Task-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DmitriyKolesnikM8O","download_url":"https://codeload.github.com/DmitriyKolesnikM8O/Distributed-Task-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217219,"owners_count":20903009,"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":["clean-architecture","ddd","ddd-architecture","docker","docker-compose","git","github","go","golang","grafana","logs","microservices","microservices-architecture","mux","postgresql","prometheus","redis","testing","yml"],"created_at":"2024-10-30T06:07:04.925Z","updated_at":"2025-12-30T20:03:22.837Z","avatar_url":"https://github.com/DmitriyKolesnikM8O.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Distributed Task System\n## 2 microservices\n\n[![Build Status](https://travis-ci.org/joemccann/dillinger.svg?branch=master)](https://travis-ci.org/joemccann/dillinger)\n![Golang](https://img.shields.io/badge/Golang-v1.23-blue.svg)\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Docker](https://img.shields.io/badge/Docker-supported-green.svg)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-v17-blue.svg)\n![Redis](https://img.shields.io/badge/Redis-v7.2-red.svg)\n![Git](https://img.shields.io/badge/Git-v2.39.1-orange.svg)\n![Prometheus and Grafana](https://img.shields.io/badge/Prometheus-Grafana-green.svg)\n![Help](https://img.shields.io/badge/help-me-brightgreen.svg)\n![Project Status](https://img.shields.io/badge/project-active-red.svg)\n![Programmer](https://img.shields.io/badge/-I'm%20a%20programmer-yellow.svg)\n\n\nA small home project for training in microservice architecture and writing applications in Golang.\n\n\n\n## Features \n\n- The whole project and all parts are raised in Docker\n- PostgreSQL is used as the database\n- Redis is used as a cache\n- There are 2 microservices: CRUD for tasks and a service for authorization\n- JWT tokens are used in Cookies for security\n- All logs and other information are displayed in Grafana, collected using Prometheus\n- Microservices communicate through REST\n- The project is executed using Clean Architecture, separation of levels, abstractions\n- Some parts of the code are covered by unit testing\n- Users and Tasks stores in different tables\n\n\n## Tech\n\nDillinger uses a number of open source projects to work properly:\n\n- Golang - Backend\n- PostgreSQL - DB\n- Redis - Cache \n- Prometheus/Grafana - logs, metrics\n- Docker - launch\n- REST API - A means of communication for microservices\n- Clean Code - Architecture Style\n- 2 Tables - For task and for users\n\nAPI Endpoints:\n\n- api-gateway service\n\n  - **GET TASK BY ID:** GET localhost:8080/task/{id}\n  - **CREATE TASK:** POST localhost:8080/task\n  - **UPDATE TASK BY ID:** PUT localhost:8080/task/{id}\n  - **DELETE TASK BY ID:** DELETE localhost:8080/task/{id}\n- auth-service service\n  \n   - **LOGIN:** POST localhost:8081/login\n   - **SIGNUP:** POST localhost:8081/signup\n\nYou can send the data in the request body. For more information, see the code. A response is returned for each request. If the error is an explanation of why it occurred\n\n## How to Run\n\n1. Clone this repository\n\n```sh\ngit clone (https://github.com/DmitriyKolesnikM8O/distributed_task_system)\ncd distrubuted_task_system\n```\n\n2. Assembling images of each of the microservices\n\n```sh\ncd api-gateway\ndocker build -t prod-service:local . \ncd ..\ncd auth-service\ndocker build -t prod-service:local . \n```\n\n3. Launching docker containers\n\n```sh\ndocker-compose up -d\n```\n\nAfter that, the entire application will be launched\n\n## LICENSE\n\n***MIT*** \n\nYou can use the entire code and the entire project as you see fit. Good Luck! 😊 😊 😊\n\n![The Future is Now](https://img.shields.io/badge/2024-%20The%20Future%20is%20Now-blue.svg)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitriykolesnikm8o%2Fdistributed-task-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmitriykolesnikm8o%2Fdistributed-task-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitriykolesnikm8o%2Fdistributed-task-system/lists"}