New search function et drag and drop clean

This commit is contained in:
2025-11-10 19:40:14 +01:00
parent d969b05ead
commit cd9a96c760
42 changed files with 2164 additions and 34 deletions

View File

@ -0,0 +1,22 @@
---
title: "Archived Ideas"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["archive", "ideas"]
---
# Archived Ideas
Ideas that didn't make the cut:
## WYSIWYG Editor
Too complex, Markdown is better.
## Desktop App
Web app is sufficient.
## Blockchain Integration
No real use case.
## Gamification
Not aligned with minimalist approach.

View File

@ -0,0 +1,41 @@
---
title: "Authentication Guide"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["documentation", "api", "security"]
---
# Authentication
## Current Status
⚠️ No authentication currently implemented.
## Future Implementation
### JWT Tokens
```
POST /api/auth/login
{
"username": "user",
"password": "pass"
}
Response:
{
"token": "eyJhbGc..."
}
```
### Bearer Token
```
Authorization: Bearer eyJhbGc...
```
## Security
- HTTPS only in production
- Reverse proxy with nginx
- Rate limiting

View File

@ -0,0 +1,38 @@
---
title: "API Endpoints Reference"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["documentation", "api"]
---
# API Endpoints
## Notes
### List Notes
```
GET /api/v1/notes
```
Returns array of all notes.
### Get Note
```
GET /api/v1/notes/{path}
Accept: application/json | text/markdown
```
### Create/Update Note
```
PUT /api/v1/notes/{path}
Content-Type: application/json
```
### Delete Note
```
DELETE /api/v1/notes/{path}
```
## Examples
See API.md for complete examples.

View File

@ -0,0 +1,31 @@
---
title: "Getting Started Guide"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["documentation", "guide", "tutorial"]
---
# Getting Started
## Installation
1. Clone the repo
2. Install Go 1.22+
3. Install Node.js dependencies
4. Build frontend
5. Run server
```bash
git clone https://github.com/user/project-notes.git
cd project-notes
cd frontend && npm install && npm run build
cd ..
go run ./cmd/server
```
## First Steps
1. Create a note
2. Add tags
3. Search with Ctrl+K
4. Organize with folders

View File

@ -0,0 +1,41 @@
---
title: "Markdown Syntax Guide"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["documentation", "guide", "markdown"]
---
# Markdown Syntax
## Headers
```markdown
# H1
## H2
### H3
```
## Emphasis
**bold** and *italic*
## Lists
- Item 1
- Item 2
- Nested
## Code
Inline `code` and blocks:
```python
def hello():
print('Hello')
```
## Tables
| Column | Column |
|--------|--------|
| Data | Data |

View File

@ -0,0 +1,26 @@
---
title: "AI Writing Assistant"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["idea", "ai"]
---
# AI Writing Assistant
## Vision
Intégrer un assistant IA pour:
- Suggestions d'écriture
- Résumés automatiques
- Tags suggestions
- Recherche sémantique
## APIs
- OpenAI GPT-4
- Anthropic Claude
- Local LLM avec Ollama
## Privacy
Données restent locales, API optionnelle.

View File

@ -0,0 +1,24 @@
---
title: "Real-time Collaboration"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["idea", "collaboration"]
---
# Real-time Collaboration
## Goal
Plusieurs utilisateurs éditent la même note simultanément.
## Technology
- WebSockets
- Operational Transforms ou CRDT
- Presence indicators
## Challenges
- Conflict resolution
- Performance at scale
- User permissions

30
notes/ideas/mobile-app.md Normal file
View File

@ -0,0 +1,30 @@
---
title: "Native Mobile App"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["idea", "mobile"]
---
# Native Mobile App Idea
## Concept
Créer une app native iOS/Android pour l'édition de notes.
## Tech Stack
- React Native ou Flutter
- Sync avec l'API REST
- Offline-first architecture
## Features
- Push notifications
- Widget home screen
- Voice notes
- Photo attachments
## Timeline
Q2 2025 - Prototype
Q3 2025 - Beta testing

View File

@ -0,0 +1,26 @@
---
title: "Sprint Retrospective"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["meeting", "retro"]
---
# Retrospective - Sprint 1
## What went well ✅
- API REST implémentée rapidement
- Bonne collaboration
- Tests unitaires en place
## What to improve ⚠️
- Documentation à jour
- CI/CD pipeline
- Code reviews plus rapides
## Action items
1. Créer CONTRIBUTING.md
2. Setup GitHub Actions
3. Daily standups à 10h

View File

@ -0,0 +1,28 @@
---
title: "Sprint Planning January"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["meeting", "planning"]
---
# Sprint Planning - Janvier 2025
## Participants
- Équipe Dev
- Product Owner
- Scrum Master
## Objectifs
1. Améliorer le drag & drop
2. Ajouter l'API REST
3. Search modal avec Ctrl+K
## Vélocité
20 story points pour ce sprint.
## Risques
- Complexité du drag & drop de dossiers
- Tests E2E à mettre en place

View File

@ -0,0 +1,25 @@
---
title: "Client Feedback Session"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["meeting", "client"]
---
# Client Feedback - Session 1
## Points positifs
- Interface épurée et rapide
- Édition Markdown fluide
- Recherche efficace
## Demandes
1. Export PDF des notes
2. Partage de notes par lien
3. Mode collaboratif
4. Dark/Light theme toggle
## Priorités
Focus sur l'export PDF pour la v1.1

View File

@ -0,0 +1,23 @@
---
title: "Book Notes"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["personal", "notes", "books"]
---
# Book Notes
## Currently Reading
**Atomic Habits** by James Clear
Key takeaways:
- 1% improvement daily = 37x better in a year
- Identity-based habits
- Environment design
## Want to Read
- Deep Work - Cal Newport
- The Mom Test - Rob Fitzpatrick
- Shape Up - Basecamp

View File

@ -0,0 +1,27 @@
---
title: "2025 Learning Goals"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["personal", "learning"]
---
# Learning Goals 2025
## Technical
- [ ] Master Go concurrency patterns
- [ ] Learn Rust basics
- [ ] Deep dive into databases
- [ ] System design courses
## Soft Skills
- [ ] Technical writing
- [ ] Public speaking
- [ ] Mentoring
## Books to Read
1. Designing Data-Intensive Applications
2. The Pragmatic Programmer
3. Clean Architecture

View File

@ -0,0 +1,25 @@
---
title: "API Design"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "backend", "api"]
---
# API Design
## Architecture REST
Notre API suit les principes REST avec les endpoints suivants:
- `GET /api/v1/notes` - Liste toutes les notes
- `GET /api/v1/notes/{path}` - Récupère une note
- `PUT /api/v1/notes/{path}` - Crée/met à jour une note
- `DELETE /api/v1/notes/{path}` - Supprime une note
## Authentification
Pour l'instant, pas d'authentification. À implémenter avec JWT.
## Rate Limiting
À considérer pour la production.

View File

@ -0,0 +1,26 @@
---
title: "Database Schema"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "backend", "database"]
---
# Database Schema
## Indexer
L'indexer maintient une structure en mémoire:
```go
type Indexer struct {
tags map[string][]string
docs map[string]*Document
mu sync.RWMutex
}
```
## Performance
- Indexation en O(n) au démarrage
- Recherche en O(1) pour les tags
- Re-indexation incrémentale avec fsnotify

View File

@ -0,0 +1,26 @@
---
title: "Deployment Strategy"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "backend", "devops"]
---
# Deployment Strategy
## Production
1. Compiler le binaire Go
2. Copier les fichiers statiques
3. Configurer nginx comme reverse proxy
4. Systemd pour gérer le service
## Docker
À créer un Dockerfile pour faciliter le déploiement.
```dockerfile
FROM golang:1.22 AS builder
WORKDIR /app
COPY . .
RUN go build -o server ./cmd/server
```

View File

@ -0,0 +1,27 @@
---
title: "CodeMirror Integration"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "frontend", "editor"]
---
# CodeMirror 6 Integration
## Configuration
Nous utilisons CodeMirror 6 avec:
- `@codemirror/lang-markdown` pour le Markdown
- `@codemirror/theme-one-dark` pour le thème
- `@codemirror/basic-setup` pour les fonctionnalités de base
## Slash Commands
Système de commandes rapides avec `/`:
- /h1, /h2, /h3 - Titres
- /date - Date actuelle
- /table - Tableau
- /code - Bloc de code
## Auto-save
Déclenché après 2 secondes d'inactivité.

View File

@ -0,0 +1,27 @@
---
title: "Drag and Drop System"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "frontend", "ux"]
---
# Drag and Drop System
## Fonctionnalités
- Déplacer fichiers entre dossiers
- Déplacer dossiers entre dossiers
- Zone de drop racine
- Indicateur visuel de destination
## Implémentation
Utilise l'API HTML5 Drag & Drop:
- `dragstart` / `dragend`
- `dragover` / `dragleave`
- `drop`
## Validations
- Impossible de déplacer un dossier dans lui-même
- Impossible de déplacer la racine

View File

@ -0,0 +1,31 @@
---
title: "Vite Build Process"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "frontend", "build"]
---
# Vite Build Process
## Structure
```
frontend/
├── src/
│ ├── main.js
│ ├── editor.js
│ ├── file-tree.js
│ └── ui.js
├── vite.config.js
└── package.json
```
## Build
`npm run build` génère:
- `project-notes-frontend.es.js` (ES modules)
- `project-notes-frontend.umd.js` (UMD)
## Watch Mode
`npm run build -- --watch` pour le dev.

View File

@ -0,0 +1,21 @@
---
title: "Progressive Web App"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "mobile", "pwa"]
---
# PWA Features
## À implémenter
1. Service Worker
2. Manifest.json
3. Offline support
4. Install prompt
## Avantages
- Fonctionne offline
- Installable sur mobile
- Notifications push possibles

View File

@ -0,0 +1,26 @@
---
title: "Responsive Design"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "mobile", "css"]
---
# Responsive Design
## Media Queries
```css
@media (max-width: 768px) {
/* Tablettes */
}
@media (max-width: 480px) {
/* Smartphones */
}
```
## Mobile-First
- Sidebar masquée par défaut
- Preview-only mode
- Touch-friendly buttons

View File

@ -0,0 +1,29 @@
---
title: "Automatic Tagging"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "ai", "nlp"]
---
# Automatic Tagging
## Goal
Suggest tags based on note content.
## Approaches
### Rule-based
- Keyword extraction
- TF-IDF
### ML-based
- Zero-shot classification
- Fine-tuned model
### Hybrid
- Combine both approaches
## Training Data
Use existing notes with tags as training set.

View File

@ -0,0 +1,31 @@
---
title: "Semantic Search Research"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "ai", "search"]
---
# Semantic Search
## Current Search
Keyword-based with scoring.
## Semantic Search
Use embeddings for similarity:
- OpenAI embeddings API
- Local models (sentence-transformers)
- Vector database (Pinecone, Weaviate)
## Implementation
1. Generate embeddings for all notes
2. Store in vector DB
3. Query with user search
4. Return top-k similar
## Cost Analysis
OpenAI: /tmp/generate_notes.sh.0001 per 1K tokens
Local: Free but slower

View File

@ -0,0 +1,31 @@
---
title: "Typography Research"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "design", "typography"]
---
# Typography
## Current Fonts
- System fonts for UI
- Fira Code for code
## Alternatives
### Sans-serif
- Inter
- Poppins
- Public Sans
### Monospace
- JetBrains Mono
- Cascadia Code
- Source Code Pro
## Readability
- Line height: 1.6
- Max width: 65ch
- Font size: 16px base

View File

@ -0,0 +1,29 @@
---
title: "UI Design Inspiration"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "design", "ui"]
---
# UI Inspiration
## Apps to Study
- Notion - Clean, minimal
- Obsidian - Graph view
- Bear - Beautiful typography
- Craft - Smooth animations
## Design Systems
- Material Design 3
- Apple HIG
- Tailwind components
## Colors
Current: Material Darker
Consider:
- Nord theme
- Dracula
- Catppuccin

View File

@ -0,0 +1,32 @@
---
title: "Go Performance Optimization"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "tech", "performance"]
---
# Go Performance
## Current Bottlenecks
- Full re-index on file changes
- No caching of parsed front matter
## Optimizations
### Incremental Indexing
Only re-parse changed files.
### Caching
```go
type Cache struct {
entries map[string]*CachedEntry
mu sync.RWMutex
}
```
### Profiling
```bash
go test -cpuprofile=cpu.prof
go tool pprof cpu.prof
```

View File

@ -0,0 +1,34 @@
---
title: "WebSockets for Live Updates"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "tech", "websocket"]
---
# WebSockets
## Use Cases
- Live file tree updates
- Real-time collaboration
- Presence indicators
## Libraries
- `gorilla/websocket`
- `nhooyr.io/websocket`
## Architecture
```
Client <-> WebSocket <-> Hub <-> Indexer
```
## Broadcasting
```go
type Hub struct {
clients map[*Client]bool
broadcast chan []byte
}
```

27
notes/scratch.md Normal file
View File

@ -0,0 +1,27 @@
---
title: "Scratch Pad"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["default"]
---
# Scratch Pad
Random thoughts and quick notes...
## Ideas
- Maybe add a daily note feature?
- Graph view of linked notes
- Vim mode for power users
## Links
- https://example.com
- https://github.com/user/repo
## Code Snippet
```javascript
const hello = () => {
console.log('Hello World');
};
```

28
notes/tasks/backlog.md Normal file
View File

@ -0,0 +1,28 @@
---
title: "Product Backlog"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["task", "planning"]
---
# Product Backlog
## High Priority
- [ ] Export notes to PDF
- [ ] Bulk operations (delete, move)
- [ ] Tags management page
- [ ] Keyboard shortcuts documentation
## Medium Priority
- [ ] Note templates
- [ ] Trash/Recycle bin
- [ ] Note history/versions
- [ ] Full-text search improvements
## Low Priority
- [ ] Themes customization
- [ ] Plugin system
- [ ] Graph view of notes links

29
notes/tasks/bugs.md Normal file
View File

@ -0,0 +1,29 @@
---
title: "Known Bugs"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["task", "bug"]
---
# Known Bugs
## Critical
None currently! 🎉
## Medium
- [ ] Search doesn't highlight in preview
- [ ] Drag over nested folders can be glitchy
- [ ] Mobile: sidebar animation stutters
## Low
- [ ] File tree doesn't remember expanded state
- [ ] Tags with special chars break search
- [ ] Long filenames overflow in sidebar
## Fixed
- [x] Slash commands not working consistently
- [x] Drag and drop to root not working

24
notes/todo.md Normal file
View File

@ -0,0 +1,24 @@
---
title: "Quick TODO List"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["task", "todo"]
---
# TODO
## Today
- [x] Fix drag & drop
- [x] Add root drop zone
- [ ] Write documentation
- [ ] Deploy to production
## This Week
- [ ] Add export feature
- [ ] Improve mobile experience
- [ ] Write blog post
## Someday
- [ ] Collaboration features
- [ ] Mobile app
- [ ] Plugin system

25
notes/welcome.md Normal file
View File

@ -0,0 +1,25 @@
---
title: "Welcome"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["default"]
---
# Welcome to Project Notes
This is your personal note-taking app.
## Quick Start
1. Press **Ctrl/Cmd+K** to search
2. Click **✨ Nouvelle note** to create
3. Use **/** for quick Markdown commands
## Features
- **Fast** - Go backend, instant search
- **Simple** - Just Markdown files
- **Organized** - Folders, tags, drag & drop
- **Beautiful** - Dark theme, live preview
Enjoy! 📝