diegojfcampos / country_Insights

Essential Country Insights at Your Fingers

Home Page:http://ec2-23-22-247-39.compute-1.amazonaws.com:3000

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Country Insights

Know Your World: Essential Country Insights at Your Fingertips!

Screenshot from 2023-12-08 13-04-37

Description

Bounce Insights is an innovative platform offering indispensable country insights right at your fingertips. Drawing inspiration from the sleek and intuitive design of official homepages, our project is meticulously crafted to seamlessly adapt to various devices, providing an unparalleled user experience, even on mobile phones.

Developed with Next.js for superior performance through server-side rendering and SEO optimization, we leverage the latest cloud computing technologies to ensure scalability, maintainability, reliability, and robustness.

APP => http://ec2-50-17-134-49.compute-1.amazonaws.com:3000

Technologies


Diego-Python Diego-HTML Diego-CSS Diego-CSS Diego-CSS Diego-CSS Diego-CSS Diego-CSS Diego-CSS Diego-CSS Diego-CSS Diego-CSS Diego-CSS

Frontend

  • React JS: Building interactive user interfaces.
  • Next Js: React framework for server-side rendering static site generation and SEO optimization.
  • Tailwindcss: A utility-first CSS framework for rapid UI development
  • React Responsive: Ensuring a smooth transition to mobile screens
  • Google Maps API: Integrating dynamic maps for enhanced visualization.
  • Rest Country API: Fetching up-to-date country information.
  • Cypress: Testing frameworks for robust server testing.

Backend

  • Node Js: Powering the backend server.
  • Express Js: A fast, unopinionated, minimalist web framework for Node.js.
  • Axios: Handling HTTP requests.
  • Cors: Enabling Cross-Origin Resource Sharing.
  • Jest: Testing frameworks for robust server testing.
  • SuperTest to Testing Server Simulations

Cloud

  • Amazon Web Services: Utilizing EC2 instances for scalability.
  • DockerHub: Hosting containerized images for efficient deployment.

Containerization and Orchestration

  • Dockers: Containerizing applications for consistency across environments.
  • Docker Swarm: Orchestrating and managing Docker containers for scalability.

Observability (Metrics and DashBoard)

  • Prometheus: Collecting and storing metrics data.
  • Grafana: Visualizing and analyzing metrics through interactive dashboards.

CI/CD automation

  • Jenkins: Automating continuous integration and deployment pipelines.

Deployment and Endpoints

Amazon Web Services EC2 Instances

Frontend:

Backend:

DashBoard:

Observability:

Orchestration:

Run Locally

Methode 1 (Docker Compose)

Clone the project

  git clone https://github.com/diegojfcampos/bounce.git

Go to the root project directory

  cd bounce

Run the docker compose

  $ docker-compose up -d

Methode 2 (Docker Images)

Pull images from Docker Hub

  docker pull diegojfcampos/bounce:api diegojfcampos/bounce:web

Run images in detached mode

  docker run -d -p 3002:3002 diegojfcampos/bounce:api 
  docker run -d -p 3000:3000 diegojfcampos/bounce:web

You can have more images of this project on the DockerHub, click here.

Methode 3 (Git Clone)

Clone the project

  git clone https://github.com/diegojfcampos/bounce.git

Run server

Go to the backend project directory

  cd backend

Install dependencies

  npm install

Start the server

  npm start dev

To run test

  npm test

Run Web

Go to the frontend project directory

  cd frontend

Install dependencies

  npm install

Start the Application

  npm run dev

To run test

  npx cypress run

Authors