Нет описания

Daniel Bohry 26f9463f66 add copy-on-click for the note id 10 месяцев назад
.github a072da6ca1 update docker hub repo 10 месяцев назад
gradle df39d1962b first commit 10 месяцев назад
src 26f9463f66 add copy-on-click for the note id 10 месяцев назад
.gitattributes df39d1962b first commit 10 месяцев назад
.gitignore 1dd00b5fdf update logo 10 месяцев назад
Dockerfile df39d1962b first commit 10 месяцев назад
README.md ccc6d8b239 add readme 10 месяцев назад
build.gradle df39d1962b first commit 10 месяцев назад
gradlew a5cffc6e8c add frontend 10 месяцев назад
gradlew.bat df39d1962b first commit 10 месяцев назад
settings.gradle df39d1962b first commit 10 месяцев назад

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