https://github.com/maygo/playgrounds
https://github.com/maygo/playgrounds
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/maygo/playgrounds
- Owner: MayGo
- Created: 2024-03-16T14:32:22.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-18T18:25:27.000Z (over 2 years ago)
- Last Synced: 2024-05-01T22:07:34.578Z (about 2 years ago)
- Language: Java
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Playground REST API
This is a Spring Boot application that provides a REST API for managing play sites and kids in a playground.
## Functionality
The API provides the following functionality:
- Creating and managing play sites in the playground. Play sites consist of attractions such as double swings, carousel, slide, and a ball pit. Different combinations of attractions can be added to create different play sites.
- Adding kids to play sites. Each kid has a name, age, and ticket number. The API ensures that the maximum capacity of the play site is not exceeded.
- Enqueuing kids in a queue when a play site is full. The API registers queues on play sites and allows kids to wait in the queue if they accept.
- Removing kids from play sites or queues.
- Providing play site utilization at the current moment, measured in percentage.
- Providing the total visitor count during the current day on all play sites. Resets at midnight.
What is not in the scope:
- Authentication and authorization
- Pagination
- Persistence of data
- Error handling
- Logging
- Health Checks, Monitoring and metrics
- Caching
- Rate limiting
- API versioning
- Internationalization
- CORS
## Usage
To run the application, make sure you have Java and Maven installed. Then, navigate to the project directory and run the following command:
```
mvn spring-boot:run
```
The application will start running on [http://localhost:8080](http://localhost:8080).
## Testing
The application has a suite of unit and integration tests. You can run the tests using the following command:
```
mvn test
```
## API Documentation
API docs can be found at [http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html)
It provides detailed information about the available endpoints and their usage.
API docs json can be found at [http://localhost:8080/v3/api-docs](http://localhost:8080/v3/api-docs)
## Configuration
The application can be configured by modifying the `application.properties` file in the `resources` directory. You can change settings such as the server port and database configuration.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.