Sin descripción

Daniel Bohry 1288a99ad4 add 404 page hace 1 mes
.github a072da6ca1 update docker hub repo hace 1 mes
gradle df39d1962b first commit hace 1 mes
src 1288a99ad4 add 404 page 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 ccc6d8b239 add 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 - 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