An open API service indexing awesome lists of open source software.

https://github.com/samuel-ricardo/travel_simulator


https://github.com/samuel-ricardo/travel_simulator

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Travel Simulator





🚀 🟨 Full Cycle Event - 2023 🟨 🚀


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

#


|  
Overview   |   
Technologies   |   
Project   |  
Run   |  
Author   |   

#










| :artificial_satellite: About:


This project is a application of a complete Full Cycle project, with amazing technologies like NextJS for front-end, NestJS for back-end, PostgreSQL database, GO Lang for microsservice, Docker & Kubernetes for devops, metrics with Elastic Search & Kibana, Message / Event Driven Architeture with Kafka and more.


The propurse of this microsservice is only one, simulate and provide travels routes for all applications of this project, for this comunication between apps, i use Kafka that is a amazing solution to handle data traffic using events, super scaleble, garant the safety of every byte of data whithout data loses.


The Kubernetes manages this applications on Google Cloud Platform, with a amazing peformance and scalability. Kubernetes is a container orchestrator thats ensures resilience to your application using the most advanced strategies for handle your applications


All goes as data stream having Kafka as intermediator thats ensures no loses keeping the original order of the message even though something crash, when it back to work will run as if nothing has happen, it all is sended to back-end that processes them and send to front-end. All data have backup in Elastic Search thats in addition to besides being a Powerfull Search Engine, it is also a full ecosystem that includes Kibana a full Data Analytics that allow you to use data provideded by Elastic to build powerfull graphics and Analytics

>




- This Microsservice is hosted on Google Cloud Platform - [GCP] with Kubernetes
- Current Version: 1.0.0


>


#


- Front-End : NextJS | [ [repositories](https://github.com/Samuel-Ricardo/codelivery-site) ]
- Back-End : NestJS | [ [repositories](https://github.com/Samuel-Ricardo/codelivery_api) ]
- microsservice : GO Lang | [ [repositories](https://github.com/Samuel-Ricardo/travel_simulator/tree/main) ]

#



:building_construction: | Technologies and Concepts Studied:

>

- Go Lang
- Kafka
- Kubernetes
- Docker
- Elastic Search
- Kibana
- Data Analytics
- Perfomance
- Event Driven Architeture
- Scalability
- Real Time

> Among Others...


#


💻 | Application:


| Project Scheme


| Google Cloud Platform


| Confluent Dashboard - [Kafka]


| Elastic Platform


| Kibana Data Analytics

#


👨‍💻 | How to use


### Open your Git Terminal and clone this repository

```git
$ git clone "[email protected]:Samuel-Ricardo/travel_simulator.git"
```

### Make Pull

```git
$ git pull "[email protected]:Samuel-Ricardo/travel_simulator.git"
```


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

>


First you need to up Apache Kafka and Elastic Search environment, we will use docker for this. so let's to apache folder `$ cd ./.docker/apache_kafka/` and run it.

```bash

# Once docker is configured:

$ cd ./.docker/apache_kafka/
$ docker-compose up

```

Once Apache Kafka, Confluent Dashboard, Zookeper, Elastic Search and Kibana are up, we can start the project :D (to go back for root project folder: `$ cd ../../`)

```bash

# 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

```

```bash

#Apps Running on:

$ Elastic Search: http://localhost:9200

$ Kibana: http://localhost:5601

$ [Kafka] Confluent Dashboard: http://localhost:9021

See more: ./.docker/apache_kafka/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