https://github.com/herikerbeth/personal-blogging-platform-api
This is a RESTful API for a personal blogging platform. It allows users to create, read, update, and delete blog posts. The API is built with Java and Spring Boot to create the server, Spring HATEOAS to write hypermedia-driven outputs, and uses PostgreSQL for data storage.
https://github.com/herikerbeth/personal-blogging-platform-api
api backend java java-spring junit unit-testing
Last synced: 9 months ago
JSON representation
This is a RESTful API for a personal blogging platform. It allows users to create, read, update, and delete blog posts. The API is built with Java and Spring Boot to create the server, Spring HATEOAS to write hypermedia-driven outputs, and uses PostgreSQL for data storage.
- Host: GitHub
- URL: https://github.com/herikerbeth/personal-blogging-platform-api
- Owner: herikerbeth
- License: mit
- Created: 2024-08-07T18:36:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-02T18:50:50.000Z (over 1 year ago)
- Last Synced: 2025-01-24T06:14:22.840Z (11 months ago)
- Topics: api, backend, java, java-spring, junit, unit-testing
- Language: Java
- Homepage: https://personal-blogging-platform-api.up.railway.app/swagger-ui/index.html
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Personal Blogging Platform API
[](https://github.com/herikerbeth/personal-blogging-platform-API/blob/edit-readme/LICENSE)
This is a RESTful API for a personal blogging platform. It allows users to create, read, update, and delete blog posts. The API is built with Java and Spring Boot to create the server, Spring HATEOAS to write hypermedia-driven outputs, and uses PostgreSQL for data storage. Additionally, the API now supports filtering blog posts by publication date and tag name.
## API Documentation
For detailed API documentation, please visit the [Swagger UI](https://personal-blogging-platform-api.up.railway.app/swagger-ui/index.html).
# 💻 Technologies
## Backend
- Java
- Spring Boot
- Spring Data JPA
- Spring HATEOAS
- Maven
- Lombok
## Testing
- JUnit
- Mockito
## Production Deployment
- Backend: Railway
- Database: PostgreSQL
## Documentation
- Swagger UI
# 🚀 Getting started
What You Need:
- Java 17 or later
- PostgreSQL
## Installing the project
First you must clone the repository.
```bash
# clone repository
$ git clone https://github.com/herikerbeth/personal-blogging-platform-API.git
# enter the project folder
$ cd personal-blogging-platform-API
```
Now, inside IntelliJ, we will install the dependencies with Maven

## Configuring Database Credentials
In the `/src/main/resources/` directory, open `application.properties` and replace the placeholders with your PostgreSQL database details (host, port, database name, user, and password):
```properties
${PGHOST}=your database host
${PGPORT}=your database port
${POSTGRES_DB}=your database name
${POSTGRES_USER}=your database user
${POSTGRES_PASSWORD}=your database password
```
## Starting
Finally, navigate to the Application class file to run the project.

## Test the Service
Now that the service is up, visit Swagger UI to explore the API documentation.
http://localhost:8080/swagger-ui/index.html
# Author
Herik Erbeth
https://www.linkedin.com/in/herik-erbeth
## Contributing
Contributions are welcome! Please fork the repository and submit a pull request.
1. Fork the repository
2. Create a new branch (`git checkout -b feature/your-feature`)
3. Commit your changes (`git commit -m 'Add some feature'`)
4. Push to the branch (`git push origin feature/your-feature`)
5. Open a pull request
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/herikerbeth/personal-blogging-platform-API/blob/edit-readme/LICENSE) file for details.