Deshan555/diaryAPI
๐ This API allows you to manage your daybook entries, recording your thoughts, moods, and experiences. Keep track of your journey with ease! ๐
diaryAPI Documentation ๐
Welcome to the Daybook API documentation! ๐ This API allows you to manage your daybook entries, recording your
thoughts, moods, and experiences. Keep track of your journey with ease! ๐
Introduction ๐
The Daybook API empowers you to capture your daily experiences, emotions, and reflections. Each entry contains essential
details like title, content, timestamp, location, mood, and a unique entry code.
Getting Started ๐
Prerequisites ๐ ๏ธ
- Postman or any other API testing tool for testing the endpoints.
Installation ๐ป
- Clone the DiaryAPI repository from GitHub: git clone
https://github.com/Deshan555/diaryAPI/tree/master - Navigate to the project directory: cd diary-api
- Build the Docker container for the PostgreSQL database: docker-compose up -d
- Create New Database Name
diary
# pasql -U admin
/bin/sh: 1: pasql: not found
# psql -U admin
psql (15.4 (Debian 15.4-1.pgdg120+1))
Type "help" for help.
admin=# CREATE DATABASE diary;
CREATE DATABASE
admin=# - Run the Spring Boot application: ./mvnw spring-boot:run
The API is now up and running! ๐
API Endpoints ๐ค๏ธ
Add Entry ๐
Add a new daybook entry.
-
Endpoint: POST
/api/v1/daybook/add -
Request Body:
{ "title": "A Peaceful Morning", "content": "Started the day with a calm meditation session. It helped set a positive tone for the entire day.", "location": "Home", "mood": "Relaxed" } -
Response: Newly created entry details.
{ "id": 8, "title": "A Peaceful Morning", "content": "Started the day with a calm meditation session. It helped set a positive tone for the entire day.", "timestamp": "1692686335597", "location": "Home", "mood": "Relaxed", "entryCode": "ad5690bd-c7ff-4421-84f5-48d8ba1c75df" }
Update Entry โ๏ธ
Update an existing daybook entry.
- Endpoint: PUT
/api/v1/daybook/update - Request Body:
{ "id": 1, "title": "Updated Entry", "content": "This is an updated entry...", "timestamp": "2023-08-21T15:30:00Z", "location": "City", "mood": "Happy", "entryCode": "ABCDE12345" } - Response: Updated entry details.
Find Entry by ID ๐
Retrieve a specific daybook entry by its ID.
- Endpoint: GET
/api/v1/daybook/find/{id} - Response: Found entry details.
Get All Entries ๐
Retrieve a list of all daybook entries.
- Endpoint: GET
/api/v1/daybook/all - Response: List of all entries.
[
{
"id": 2,
"title": "A Peaceful Morning",
"content": "Started the day with a calm meditation session. It helped set a positive tone for the entire day.",
"timestamp": "1692686333844",
"location": "Home",
"mood": "Relaxed",
"entryCode": "9d009c63-ad7e-4a1d-9304-ea7b061f0b68"
},
{
"id": 3,
"title": "A Peaceful Morning",
"content": "Started the day with a calm meditation session. It helped set a positive tone for the entire day.",
"timestamp": "1692686334402",
"location": "Home",
"mood": "Relaxed",
"entryCode": "133de12e-be4f-42c4-8b44-194fca10ac4e"
}
]
Delete Entry ๐๏ธ
Delete a daybook entry by its ID.
- Endpoint: DELETE
/api/v1/daybook/drop/{id} - Response: No content.
{
"message": "Content deleted id : 1"
}Swagger Documentation ๐
Explore and test the API using the interactive Swagger documentation. Access it by navigating to Swagger UI once the API is running.http://localhost:8083/swagger-ui/index.html#/controller/getContentByID
Error Codes โ
The API may return the following error codes:
- 400 Bad Request: Invalid request format or parameters.
- 404 Not Found: Resource not found.
- 500 Internal Server Error: Server-side errors.
Contributing ๐ฅ
We welcome contributions to enhance the Daybook API! Feel free to submit pull requests or open issues.
License ๐
This project is licensed under the MIT License.
Thank you for using the Daybook API! ๐ If you have any questions or suggestions, please don't hesitate to reach out. Happy journaling! ๐
