A modern, efficient note-taking application with automatic compression, dark mode theming, and mobile-responsive design.
- Java 25 or higher
- MongoDB
-
Build the application
./gradlew build
-
Run the application
./gradlew bootRun
-
Access the application
- Open your browser to
http://localhost:8080 - Start typing to create your first note!
- Open your browser to
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/notes/{id} |
Retrieve a note by ID |
POST |
/api/notes |
Create a new note |
PUT |
/api/notes |
Update an existing note |
Create Note:
POST /api/notes
Content-Type: application/json
{
"note": "Your note content here"
}Response:
{
"id": "01KDECFWYDMS857DZMCR680MCY",
"content": "Your note content here",
"createdAt": "2024-12-27T10:30:00Z",
"modifiedAt": "2024-12-27T10:30:00Z"
}Run the test suite:
./gradlew testTest categories:
- Unit tests for compression utilities
- Integration tests for Note entity
- Service layer tests for business logic
The application uses MongoDB for storage. Configure connection in application.properties:
spring.data.mongodb.uri=mongodb://localhost:27017/knotes