Aucune description

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

README.md

kNotes

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

Features

  • Real-time auto-save - Your notes are automatically saved as you type
  • GZIP compression - 60-80% storage reduction with transparent compression/decompression
  • Dark/Light themes - Toggle between themes with persistent preference storage
  • Mobile responsive - Optimized for smartphones, tablets, and desktops
  • URL-based navigation - Each note has a unique URL for easy sharing

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