Daniel Bohry 1 mês atrás
pai
commit
ccc6d8b239
1 arquivos alterados com 94 adições e 0 exclusões
  1. 94 0
      README.md

+ 94 - 0
README.md

@@ -0,0 +1,94 @@
+# 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**
+   ```bash
+   ./gradlew build
+   ```
+
+2. **Run the application**
+   ```bash
+   ./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:**
+```bash
+POST /api/notes
+Content-Type: application/json
+
+{
+  "note": "Your note content here"
+}
+```
+
+**Response:**
+```json
+{
+  "id": "01KDECFWYDMS857DZMCR680MCY",
+  "content": "Your note content here",
+  "createdAt": "2024-12-27T10:30:00Z",
+  "modifiedAt": "2024-12-27T10:30:00Z"
+}
+```
+
+## Testing
+
+Run the test suite:
+```bash
+./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`:
+
+```properties
+spring.data.mongodb.uri=mongodb://localhost:27017/knotes
+```
+
+---
+
+## Live
+
+https://notes.lhamacorp.com/01KDFNNWYG2MJR2TD9F0384T3N