{"id":20314174,"url":"https://github.com/samuel-ricardo/codelivery_api","last_synced_at":"2025-08-22T08:10:06.276Z","repository":{"id":153372358,"uuid":"621011974","full_name":"Samuel-Ricardo/codelivery_api","owner":"Samuel-Ricardo","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-18T15:34:57.000Z","size":321,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-04T08:44:45.994Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/Samuel-Ricardo.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":"2023-03-29T20:17:57.000Z","updated_at":"2023-04-18T13:18:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"e97de1a4-8c6a-4f2e-a4c4-f5575bb9507f","html_url":"https://github.com/Samuel-Ricardo/codelivery_api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Samuel-Ricardo/codelivery_api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuel-Ricardo%2Fcodelivery_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuel-Ricardo%2Fcodelivery_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuel-Ricardo%2Fcodelivery_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuel-Ricardo%2Fcodelivery_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Samuel-Ricardo","download_url":"https://codeload.github.com/Samuel-Ricardo/codelivery_api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuel-Ricardo%2Fcodelivery_api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271606595,"owners_count":24788979,"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-08-22T02:00:08.480Z","response_time":65,"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":[],"created_at":"2024-11-14T18:14:15.316Z","updated_at":"2025-08-22T08:10:06.230Z","avatar_url":"https://github.com/Samuel-Ricardo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Codelivery API\n\n\u003cp align=\"center\"\u003e \n  \u003ca href=\"https://fullcycle.com.br/\" target=\"_blank\"\u003e\n    \u003cimg width=\"auto\" src=\"https://cdn.webo.digital/uploads/2022/09/Nestjs_hero1.png\"/\u003e\n  \u003c/a\u003e \n\u003c/p\u003e\n\n\u003ch4 align=\"center\" \u003e 🚀 🟨 Full Cycle Event - 2023 🟨 🚀 \u003c/h4\u003e\n\n\u003ch4 align=\"center\"\u003e\n  Application developed during a Programmer Event, the \u003ca style=\"color: #8a4af3;\" href=\"https://github.com/search?q=imers%C3%A3o%20full%20cycle\u0026type=repositories\" target=\"_blank\"\u003eFull Cycle Immersion\u003c/a\u003e promoted by \u003ca style=\"color: #8a4af3;\" href=\"https://fullcycle.com.br/\" target=\"_blank\"\u003e@FullCycleSchool\u003c/a\u003e\n\u003c/h4\u003e\n\n#\n\n\u003cp align=\"center\"\u003e\n  |\u0026nbsp;\u0026nbsp;\n  \u003ca style=\"color: #8a4af3;\" href=\"#project\"\u003eOverview\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca style=\"color: #8a4af3;\" href=\"#techs\"\u003eTechnologies\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca style=\"color: #8a4af3;\" href=\"#app\"\u003eProject\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca style=\"color: #8a4af3;\" href=\"#routes\"\u003eRoutes\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca style=\"color: #8a4af3;\" href=\"#run-project\"\u003eRun\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca style=\"color: #8a4af3;\" href=\"#author\"\u003eAuthor\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/p\u003e\n\n#\n\n\u003cbr\u003e\n\n\u003cp id=\"project\"/\u003e\n\n\u003ch2\u003e  | :artificial_satellite: About:  \u003c/h2\u003e\n\n\u003cp align=\"justify\"\u003e\n  This project is a application of a complete Full Cycle project, with amazing technologies like NextJS for front-end, NestJS for back-end, MongoDB database, GO Lang for microsservice, Docker \u0026 Kubernetes for devops, metrics with Elastic Search \u0026 Kibana, Message / Event Driven Architeture with Kafka and more.\n\u003c/p\u003e\n\n\u003cimg src=\"https://github.com/Samuel-Ricardo/travel_simulator/raw/main/readme_files/techs.png\"/\u003e \n\n\u003cp align=\"justify\"\u003e\n    The purpose of this Back-End is work as intermediator of front-end application and all travel related services and datas with Mongo Data Base, it will send request to start a travel and will monmitoring all data, handling and sending it back to fron-end as data stream, that will have the state and relevant informations about it.\n\u003c/p\u003e\n\n\u003cp align=\"justify\"\u003e\n    This application use NestJS to manage all infrastructure because it's very good for work with microsservices and make easly connections with technologies used on this full cycle project like Kafka and work good with serve sent events (Event Driven Architeture).\n\u003c/p\u003e\n\n\u003cp align=\"justify\"\u003e\n    I use Kubernetes that is a container orchestration system that can be used to deploy and manage containers. It is a way to manage the running containers of a system, and to let the system run in a container environment.\n\u003c/p\u003e\n\n\u003e \u003ca href=\"https://samuel-ricardo.github.io/\"\u003e \u003cimg src=\"https://github.com/Samuel-Ricardo/travel_simulator/raw/main/readme_files/app_preview.png\"\u003e \u003c/a\u003e\n\n  \u003cbr\u003e\n  \n- This Back-End is hosted on Google Cloud Platform - [GCP] With Kubernetes \n- Current Version: \u003cb\u003e 1.0.0 \u003c/b\u003e\n\n\u003cbr/\u003e\n\n#\n\n- Front-End     : NextJS   | [ [repositories](https://github.com/Samuel-Ricardo/codelivery-site)  ] \n- microsservice : GO Lang  | [ [repositories](https://github.com/Samuel-Ricardo/travel_simulator/tree/main)  ]\n- Back-End      : NestJS   | [ [repositories](https://github.com/Samuel-Ricardo/codelivery_api)  ]\n\n#\n\n\u003cbr\u003e\n\n\u003ch2 id=\"techs\"\u003e\n  :building_construction: | Technologies and Concepts Studied:\n\u003c/h2\u003e\n\n\u003e \u003ca href='https://nestjs.com/'\u003e \u003cimg width=\"48px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/nestjs/nestjs-plain-wordmark.svg\" /\u003e \u003c/a\u003e\n\n- NestJS\n- Websockets\n- MongoDB\n- SocketIO\n- Typescript\n- Mongoose\n- JS\n- Test\n- Jest  \n- Kafka\n- Kubernetes\n- Docker\n- Perfomance\n- Event Driven Architeture\n- Scalability\n- Real Time\n\n\u003e Among Others...\n\n\u003cbr\u003e\n\n#\n\n\u003ch2 id=\"app\"\u003e\n  💻 | Application:\n\u003c/h2\u003e\n\n\u003cimg src=\"https://github.com/Samuel-Ricardo/travel_simulator/raw/main/readme_files/scheme.png\" /\u003e\n\n- Front-End     : NextJS   | [ [repositories](https://github.com/Samuel-Ricardo/codelivery-site)  ] \n- Back-End      : NestJS   | [ [repositories](https://github.com/Samuel-Ricardo/codelivery_api)  ]\n- microsservice : GO Lang  | [ [repositories](https://github.com/Samuel-Ricardo/travel_simulator/tree/main)  ]\n- Devops        : Kafka | Elastic  - [ [repositories](https://github.com/Samuel-Ricardo/travel_simulator/tree/main)  ]\n\n\u003cbr\u003e\n\n\u003cp align=\"justify\"\u003e\n  In Resume this project have a Microsservice responsible to start and manage a travel returning the travel data in real time by streams, kafka recive this data and garant that all comunications between applications work together without data loses and with scalable Perfomance of Kafka platform.\n\u003c/p\u003e\n\n\u003cp\u003e\n    The Back-End send by kafka a event to microsservice that trigger a start of a route, after that, the route data like position and if is it finished are send to kafka, the back end listen the event by kafka and get data to handle it and send to front end, that render all date with the travel route and real time position, cleaning it when finished.\n\u003c/p\u003e\n\n\u003cp align=\"justify\"\u003e\n    All data is tracked and stored in Elastic Search with kafka intermediator that provide by your platform the Kibana that create amazing views to handle with Data Analytics building beautiful graphics for example.\n\u003c/p\u003e\n\n\u003cbr\u003e\n\nThis application is hosted on Google Cloud Platform with Kubernetes - [GCP]\n\n\u003cbr\u003e\n\n\u003e \u003ca target=\"justify\" href=\"https://cloud.google.com/?hl=pt-br\"\u003e \u003cimg width=\"128px\" src=\"https://i.pcmag.com/imagery/reviews/02yVL9f8Jw1atwoG6sgFZDH-7..v1569482492.jpg\"/\u003e \u003c/a\u003e\n\n\u003cbr\u003e\n\n#\n   \u003cp id=\"routes\"/\u003e\n   \n##  :construction: API Routes:  \n\n \u003ch3\u003e\u003cb\u003e Base URL - http://localhost:3000 \u003c/b\u003e\u003c/h3\u003e\n\n\u003c/br\u003e\n   \n- \u003cb\u003e Travel Routes - /routes \u003c/b\u003e\n   \n\u003cp\u003e   - Get all Routes - GET - / \u003c/p\u003e\n\u003cp\u003e   - Start a travel - POST - /[id]/start \u003c/p\u003e\n   \n#\n\n#\n\n\u003ch2 id=\"run-project\"\u003e \n   👨‍💻 | How to use\n\u003c/h2\u003e\n\n\u003cbr\u003e\n\n### Open your Git Terminal and clone this repository\n\n```git\n  $ git clone \"git@github.com:Samuel-Ricardo/codelivery_api.git\"\n```\n\n### Make Pull\n\n```git\n  $ git pull \"git@github.com:Samuel-Ricardo/codelivery_api.git\"\n```\n\n\u003cbr\u003e\n\nThis application use `Docker` so you dont need to install and cofigurate anything other than docker on your machine.\n\n\u003e \u003ca target=\"_blank\" href=\"https://www.docker.com/\"\u003e \u003cimg width=\"48px\" src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/docker/docker-plain-wordmark.svg\" /\u003e \u003c/a\u003e\n\n\u003cbr\u003e\n\n\nNavigate to project folder ` $ cd ./codelivery_api/ ` and run it using ` docker-compose `\n\n\n```bash\n\n  # After setup docker environment just run this commmand on root project folder:\n\n  $ docker-compose up --build   # For First Time run this command\n\n  $ docker-compose up           # to run project\n\n\n```\n\n```bash\n\n  #Apps Running on:\n\n  $ API: http://localhost:3000\n\n  $ Mongo: http://localhost:8081\n\n  See more: ./codelivery_api/docker-compose.yaml\n\n```\n\n\u003cbr\u003e\n\n\u003ch2\u003e \n   👨‍💻 | How to run the full project\n\u003c/h2\u003e\n\nFirst, you need to setup the Kafka platform with the Travel Microsservice, click on image bellow to setup it\n\u003e \u003ca target=\"_blank\" href=\"https://github.com/Samuel-Ricardo/travel_simulator#------how-to-use\"\u003e \u003cimg width=\"128px\" src=\"https://cdn.thenewstack.io/media/2022/05/57bb2a1f-golang.png\"/\u003e \u003c/a\u003e\n\nNow, you need to setup the NestJS API, click on image bellow to setup it\n\u003e \u003ca target=\"_blank\" href=\"https://github.com/Samuel-Ricardo/codelivery_api#------how-to-use\"\u003e \u003cimg width=\"128px\" src=\"https://imgs.search.brave.com/hM_dWTDZ7a9nUL-Xf70pL9QQeiO6v0_q0rHk8NQlNSU/rs:fit:200:200:1/g:ce/aHR0cHM6Ly9uZXN0/anMuY29tL2ltZy9u/ZXN0LW9nLnBuZw\"/\u003e \u003c/a\u003e\n\nNow, you can setup this NextJS App, click on image bellow to setup it\n\u003e \u003ca target=\"_blank\" href=\"https://github.com/Samuel-Ricardo/codelivery-site#run-project\"\u003e \u003cimg width=\"128px\" src=\"https://pbs.twimg.com/card_img/1669374288581853186/RoVDMNTV?format=jpg\u0026name=4096x4096\"/\u003e \u003c/a\u003e\n\n\n#\n\n\u003cbr\u003e\n\n#\n\n\u003ch2 id=\"author\"\u003e\n  :octocat: | Author:  \n\u003c/h2\u003e\n\n\u003e \u003ca target=\"_blank\" href=\"https://www.linkedin.com/in/samuel-ricardo/\"\u003e \u003cimg width=\"350px\" src=\"https://github.com/Samuel-Ricardo/bolao-da-copa/blob/main/readme_files/IMG_20220904_220148_188.jpg?raw=true\"/\u003e \u003cbr\u003e \u003cp\u003e \u003cb\u003e - Samuel Ricardo\u003c/b\u003e \u003c/p\u003e\u003c/a\u003e\n\n\u003ch1\u003e\n  \u003ca herf='https://github.com/Samuel-Ricardo'\u003e\n    \u003cimg src='https://img.shields.io/static/v1?label=\u0026message=Samuel%20Ricardo\u0026color=black\u0026style=for-the-badge\u0026logo=GITHUB'\u003e \n  \u003c/a\u003e\n  \n  \u003ca herf='https://www.instagram.com/samuel_ricardo.ex/'\u003e\n    \u003cimg src='https://img.shields.io/static/v1?label=\u0026message=Samuel.ex\u0026color=black\u0026style=for-the-badge\u0026logo=instagram'\u003e \n  \u003c/a\u003e\n  \n  \u003ca herf='https://twitter.com/SamuelR84144340'\u003e\n    \u003cimg src='https://img.shields.io/static/v1?label=\u0026message=Samuel%20Ricardo\u0026color=black\u0026style=for-the-badge\u0026logo=twitter'\u003e \n  \u003c/a\u003e\n  \n   \u003ca herf='https://www.linkedin.com/in/samuel-ricardo/'\u003e\n    \u003cimg src='https://img.shields.io/static/v1?label=\u0026message=Samuel%20Ricardo\u0026color=black\u0026style=for-the-badge\u0026logo=LinkedIn'\u003e \n  \u003c/a\u003e\n\u003c/h1\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuel-ricardo%2Fcodelivery_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuel-ricardo%2Fcodelivery_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuel-ricardo%2Fcodelivery_api/lists"}