API developed as a professional development project, integrating with IBM's public API to create a comprehensive database of series and films, with its own episode and season structure.
- Data consumption and processing from IBM's public API
- Storage in a PostgreSQL database
- RESTful endpoints for queries
- Season and episode management
- Top 5 highest-rated series in the database
- Filters by release date
- Practice API implementation with Java and Spring Boot
- Implement MVC, OOP, ORM, and other architectural patterns
- Develop complex queries in relational databases
- Create comprehensive API documentation
Technologies • Getting Started • API Endpoints • Collaborators • Contribute • Contact
- Java
- PostgreSQL
- Config Cors
- Spring Boot
- IntelLij
- Designer pattern
- MVC - Model-View-Controller
- POO - Object-Oriented Programming
- ORM - Object-Relational Mapping
- Data base config
git clone https://github.com/GabrielRoOl/API_Series.gitUse the .env.example as reference to create your configuration file .env with your AWS Credentials
spring.datasource.url=jdbc:postgresql://${DB_HOST}/${DB_NAME}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD}How to start your project
cd API_Series
Run the project
1 - Buscar séries
2 - Buscar episódios
3 - Listar séries buscadas
4 - Buscar série por título
5 - Buscar séries por ator e avaliação mínima
6 - Top 5 séries com melhor avaliação
7 - Buscar séries pela categoria
8 - Filtrar séries
9 - Buscar episodio pro trecho
10 - Top 5 episódios por série
11 - Buscar episódios a partir de uma data
0 - SairSearch for the series you want to add to your database
Here you can list the main routes of your API, and what are their expected request bodies.
| route | description |
|---|---|
| GET /series | retrieves information from all series response details |
| GET /series/top5 | retrieves information from the top 5 series request details |
| GET /series/lancamentos | retrieve series information according to release request details |
| GET /series/{id} | retrieve information from a series by id request details |
| GET /{id}/temporadas/todas | returns all seasons and all episodes request details |
| GET /{id}/temporadas/{numero} | returns the season by number request details |
| GET /categoria/{nome} | returns the season by number request details |
[
{
"id": 1,
"titulo": "Friends",
"totalTemporadas": 10,
"avaliacao": 8.9,
"escritor": "David Crane, Marta Kauffman",
"atores": "Jennifer Aniston, Courteney Cox, Lisa Kudrow",
"poster": "https://m.media-amazon.com/images/M/MV5BOTU2YmM5ZjctOGVlMC00YTczLTljM2MtYjhlNGI5YWMyZjFkXkEyXkFqcGc@._V1_SX300.jpg",
"sinopse": "https://m.media-amazon.com/images/M/MV5BOTU2YmM5ZjctOGVlMC00YTczLTljM2MtYjhlNGI5YWMyZjFkXkEyXkFqcGc@._V1_SX300.jpg"
}
][
{
"id": 1,
"titulo": "Friends",
"totalTemporadas": 10,
"avaliacao": 8.9,
"escritor": "David Crane, Marta Kauffman",
"atores": "Jennifer Aniston, Courteney Cox, Lisa Kudrow",
"poster": "https://m.media-amazon.com/images/M/MV5BOTU2YmM5ZjctOGVlMC00YTczLTljM2MtYjhlNGI5YWMyZjFkXkEyXkFqcGc@._V1_SX300.jpg",
"sinopse": "https://m.media-amazon.com/images/M/MV5BOTU2YmM5ZjctOGVlMC00YTczLTljM2MtYjhlNGI5YWMyZjFkXkEyXkFqcGc@._V1_SX300.jpg"
},
{
"id":3,
// ... dados da serie
},
{
"id":7,
// ... dados da serie
},
{
"id":8,
// ... dados da serie
},
{
"id":2,
// ... dados da serie
}
][
{
"id":8,
// ... dados da serie
},
{
"id":7,
// ... dados da serie
},
// ...demais series
][
{
"id": 2,
"titulo": "How I Met Your Mother",
"totalTemporadas": 9,
"avaliacao": 8.3,
"escritor": "Carter Bays, Craig Thomas",
"atores": "Josh Radnor, Jason Segel, Cobie Smulders",
"poster": "https://m.media-amazon.com/images/M/MV5BNjg1MDQ5MjQ2N15BMl5BanBnXkFtZTYwNjI5NjA3._V1_SX300.jpg",
"sinopse": "https://m.media-amazon.com/images/M/MV5BNjg1MDQ5MjQ2N15BMl5BanBnXkFtZTYwNjI5NjA3._V1_SX300.jpg"
}
][
{
"temporada": 1,
"titulo": "The One Where Monica Gets a Roommate",
"numeroEpisodio": 1
},
// ...demais temporadas e episódios
][
{
"temporada": 1,
"titulo": "The One Where Monica Gets a Roommate",
"numeroEpisodio": 1
},
// ...demais temporadas e episódios
]- Gabriel Rodrigues - Complete API development
- Alura - Java/Spring Boot courses and training that supported the project
This is a research project, but contributions are welcome! Here's the guide to participating:
- Fork the project
- Clone your fork locally:
https://github.com/your_user/API_Series.git
- Create a branch for your feature:
git checkout -b your-feature
- Commit your changes:
git commit -m "feat: new feature" - Push to your branch:
git push origin your-feature
Linkedin • Github • 61 9 91929185 • gabriel.ro.ol@hotmail.com