Sin descripción

Daniel Bohry 88a8bc83d9 update readme hace 1 mes
.github a072da6ca1 update docker hub repo hace 1 mes
gradle df39d1962b first commit hace 1 mes
src 26f9463f66 add copy-on-click for the note id hace 1 mes
.gitattributes df39d1962b first commit hace 1 mes
.gitignore 1dd00b5fdf update logo hace 1 mes
Dockerfile df39d1962b first commit hace 1 mes
README.md 88a8bc83d9 update readme hace 1 mes
build.gradle df39d1962b first commit hace 1 mes
gradlew a5cffc6e8c add frontend hace 1 mes
gradlew.bat df39d1962b first commit hace 1 mes
settings.gradle df39d1962b first commit hace 1 mes

README.md

kNotes

A modern, efficient note-taking application with automatic compression, dark mode theming, and mobile-responsive design.

Features

  • Real-time auto-save
  • GZIP compression
  • Dark/Light themes
  • Mobile responsive
  • URL-based navigation

Quick Start

Prerequisites

  • Java 25 or higher
  • MongoDB

Running the Application

  1. Build the application

    ./gradlew build
    
  2. Run the application

    ./gradlew bootRun
    
  3. Access the application

    • Open your browser to http://localhost:8080
    • Start typing to create your first note!

API

Note Endpoints

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

Request/Response Examples

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"
}

Testing

Run the test suite:

./gradlew test

Test categories:

  • Unit tests for compression utilities
  • Integration tests for Note entity
  • Service layer tests for business logic

Configuration

MongoDB Configuration

The application uses MongoDB for storage. Configure connection in application.properties:

spring.data.mongodb.uri=mongodb://localhost:27017/knotes

Live

https://notes.lhamacorp.com/01KDFNNWYG2MJR2TD9F0384T3N