https://github.com/ruben-rdez/classical-api
A Spring Boot REST API for managing classical music information
https://github.com/ruben-rdez/classical-api
aws-ecr aws-ecs docker git github github-actions java maven restful-api springboot
Last synced: 3 months ago
JSON representation
A Spring Boot REST API for managing classical music information
- Host: GitHub
- URL: https://github.com/ruben-rdez/classical-api
- Owner: ruben-rdez
- Created: 2025-06-30T18:58:41.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-30T19:25:14.000Z (12 months ago)
- Last Synced: 2025-06-30T20:29:25.469Z (12 months ago)
- Topics: aws-ecr, aws-ecs, docker, git, github, github-actions, java, maven, restful-api, springboot
- Language: Java
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Classical Music API
A Spring Boot REST API for managing classical music information, including artists, their biographies, and related data.
## Overview
This project is a RESTful API built with Spring Boot that provides endpoints for managing classical music data. It features comprehensive documentation using OpenAPI (Swagger) and follows modern Java development practices.
## Technologies
- Java 21
- Spring Boot 3.5.3
- SpringDoc OpenAPI (Swagger UI)
- Maven
- Docker
## Prerequisites
To run this application, you need:
- Java Development Kit (JDK) 21 or later
- Maven 3.6 or later
- Docker (optional, for containerization)
## Getting Started
### Clone the Repository
```bash
git clone [repository-url]
cd classical-api
```
### Build the Project
```bash
./mvnw clean install
```
### Run the Application
```bash
./mvnw spring-boot:run
```
The application will start on `http://localhost:8080/api/artists`
### API Documentation
Once the application is running, you can access the Swagger UI documentation at:
```
http://localhost:8080/swagger-ui.html
```
## API Endpoints
### Artists
- `GET /api/artists` - Get all artists
- `GET /api/artists/{id}` - Get artist by ID
- `POST /api/artists` - Create a new artist
- `PUT /api/artists/{id}` - Update an existing artist
- `DELETE /api/artists/{id}` - Delete an artist
## Docker Support
To build and run the application using Docker:
```bash
# Build the Docker image
docker build -t classical-api .
# Run the container
docker run -p 8080:8080 classical-api
```
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.