/codelivery-site

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 & Kubernetes for devops, metrics with Elastic Search & Kibana, Event Architeture with Kafka and more.

Primary LanguageTypeScriptMIT LicenseMIT

Codelivery

🚀 🟨 Full Cycle Event - 2023 🟨 🚀

Application developed during a Programmer Event, the Full Cycle Immersion promoted by @FullCycleSchool

|   Overview   |    Technologies   |    Project   |   Run   |   Author   |   


| 🛰️ About:

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 & Kubernetes for devops, metrics with Elastic Search & Kibana, Message / Event Driven Architeture with Kafka and more.

This is the real time transportation application Codelivery, powered by NextJS that monitoring and trigger travels. You can switch between the different types of travels and follow theys by a colored route and Icons that represent the car and the destiny.

For all this was used very powerful technologies and platforms, with a complete ecosystem of microsservice, back-end, elastic platform, kafka, kubernetes, GCP all this conected and comunicating in real time with websockets and data stream sustained by the resilience of Kafka on Confluent.


  • This APP is hosted on [ Vercel ]
  • Current Version: 1.0.0


🏗️ | Technologies and Concepts Studied:

  • NextJS
  • Websockets
  • SocketIO
  • MaterialUI
  • Typescript
  • Google Cloud Platform
  • Google Maps
  • Kafka
  • Docker
  • Mullti Thread and Concurrency
  • Perfomance
  • Event Driven Architeture
  • Scalability
  • Real Time

Among Others...


💻 | Application:


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.

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 data with the travel route and real time position, cleaning it when finished.

All data is tracked and stored in Elastic Search (with kafka as intermediator) that provide by your platform the Kibana that create amazing views to handle with Data Analytics building beautiful graphics for example.

You can start multiples races that are updated in real time visualizing the results of all this on the map, even if something falls the infra can handle with it.


  • This application is hosted on Vercel
  • This application infrastructure is hosted on Google Cloud Platform with Kubernetes - [GCP]
  • Kafka runs with Confluent

Click on any images to open the video demo!

| Application have preventions like, you cant start the same race twice if it i'snt finished

| You have all features of google maps like choice satellite view, see locations arround, highlight the relief, and use street view.

| In this mode, you can see the car running and follow it on the map while it is moving in real time!

| You can follow the car at the destiny


👨‍💻 | How to use


Open your Git Terminal and clone this repository

  $ git clone "git@github.com:Samuel-Ricardo/codelivery-site.git"

Make Pull

  $ git pull "git@github.com:Samuel-Ricardo/codelivery-site.git"

This application use Docker so you dont need to install and cofigurate anything other than docker on your machine.


Navigate to project folder $ cd ./transport_application/ and run it using docker-compose

  # After setup docker environment just run this commmand on root project folder:

  $ docker-compose up --build   # For First Time run this command

  $ docker-compose up           # to run project

  #Apps Running on:

  $ API: http://localhost:3001

  See more: ./transport_application/docker-compose.yaml

👨‍💻 | How to run the full project

First, you need to setup the Kafka platform with the Travel Microsservice, click on image bellow to setup it

Now, you need to setup the NestJS API, click on image bellow to setup it

Now, you can setup this NextJS App, click on image bellow to setup it


:octocat: | Author:


- Samuel Ricardo