Know Your World: Essential Country Insights at Your Fingertips!
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
- 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.
- 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
- Amazon Web Services: Utilizing EC2 instances for scalability.
- DockerHub: Hosting containerized images for efficient deployment.
- Dockers: Containerizing applications for consistency across environments.
- Docker Swarm: Orchestrating and managing Docker containers for scalability.
- Prometheus: Collecting and storing metrics data.
- Grafana: Visualizing and analyzing metrics through interactive dashboards.
- Jenkins: Automating continuous integration and deployment pipelines.
Amazon Web Services EC2 Instances
- Web: Explore Bounce
- API: Bounce API
- Queries: Country Data
- Metrics: Server Metrics
- Grafana: Bounce Dashboard
- Prometheus: Metrics Monitoring
- Docker Swarm: Swarm Dashboard
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
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.
Clone the project
git clone https://github.com/diegojfcampos/bounce.git
Go to the backend project directory
cd backend
Install dependencies
npm install
Start the server
npm start dev
To run test
npm test
Go to the frontend project directory
cd frontend
Install dependencies
npm install
Start the Application
npm run dev
To run test
npx cypress run