This project demonstrates a backend built with Spring Boot and a frontend built with Vue.js and Axios for backend communication. It offers a single-page application that allows visitors to fetch the top 10 GitHub repositories given two filters: language (C, PHP, Java, Python, and JavaScript) and a sorting method (stars, interactions, and reactions).
This project is divided into two minor projects: back-end and front-end, both nested projects are containerized by Docker. There's a Docker Compose file at the top level of the project.
The backend is built using Spring Boot, a powerful Java-based framework for building web applications. It provides RESTful APIs to communicate with the GitHub API and retrieve repository data based on user queries.
- RESTful APIs for fetching top GitHub repositories based on language and sorting method.
- Integration with GitHub API for fetching repository data.
- Docker containerization for easy deployment.
The frontend is developed using Vue.js, a progressive JavaScript framework for building user interfaces. Axios is used for making HTTP requests to the backend and fetching data from the GitHub API.
- Single-page application interface for user interaction.
- Form inputs for selecting language and sorting method.
- Display of top 10 GitHub repositories based on user filters.
- Responsive design for seamless user experience across devices.
To run the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/evandrosouza89/github-api-integration.git
-
Navigate to the project directory:
cd github-api-integration
-
Start Docker containers using Docker Compose:
docker-compose up -d
-
Access the application in your browser:
http://localhost:80/#/
- Java
- Spring Boot
- Docker
- Vue.js
- Axios
- Docker
This project is licensed under the MIT License.