An open API service indexing awesome lists of open source software.

https://github.com/iwillig/writing-assistant


https://github.com/iwillig/writing-assistant

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

          

# Documentation

This folder contains all documentation for the Writing Assistant project.

## Architecture Documentation

The project is built with Clojure and ClojureScript:

```
docs/
├── migration/ ; Clojure architecture docs
│ ├── overview.md ; System architecture overview
│ ├── backend-libraries.md ; Ring, Bidi, next.jdbc, HugSQL
│ ├── frontend-libraries.md ; ClojureScript, Datastar, shadow-cljs
│ ├── nlp-corenlp.md ; Stanford CoreNLP integration
│ └── datastar-guide.md ; Reactive UI patterns
├── research/ ; Research documents
│ ├── dyslexia_research_summary.md
│ ├── open_weight_speech_models_research.md
│ ├── research_summary.md
│ └── tech-stack-research.md
└── guides/ ; User and developer guides
```

## Quick Links

### Architecture

- **[Overview](migration/overview.md)** — System architecture and technology choices
- **[Backend Libraries](migration/backend-libraries.md)** — Ring, Bidi, next.jdbc, HugSQL, Integrant, Sente
- **[Frontend Libraries](migration/frontend-libraries.md)** — ClojureScript, Datastar, ProseMirror
- **[Stanford CoreNLP](migration/nlp-corenlp.md)** — JVM-native NLP integration
- **[Datastar Guide](migration/datastar-guide.md)** — Reactive signals and UI patterns

### Research

Research and background information:

- **[Dyslexia Research Summary](research/dyslexia_research_summary.md)** — Research on dyslexia and writing assistance
- **[Open Weight Speech Models](research/open_weight_speech_models_research.md)** — Speech-to-text model research
- **[Research Summary](research/research_summary.md)** — General project research
- **[Tech Stack Research](research/tech-stack-research.md)** — Technology evaluation (legacy)

## Stack Overview

| Layer | Technology | Purpose |
|-------|------------|---------|
| Backend | Clojure | JVM-native functional language |
| HTTP | Ring + Bidi | Functional HTTP handling, data-driven routing |
| Database | PostgreSQL/SQLite | Document storage |
| DB Access | next.jdbc + HugSQL | Low-level JDBC, SQL-as-Clojure |
| Components | Integrant | Data-driven lifecycle management |
| NLP | Stanford CoreNLP | JVM-native POS tagging |
| Real-time | http-kit + Sente | WebSocket with AJAX fallback |
| Frontend | ClojureScript | Compiles to optimized JavaScript |
| Build | shadow-cljs | Hot reload, advanced optimizations |
| Reactivity | Datastar | Fine-grained reactive signals |
| Editor | ProseMirror | Structured rich-text editing |

## Building the Manual

The project manual is built from Markdown sources using Pandoc:

```bash
just docs # Build HTML manual
just serve # Serve docs locally
```

## Contributing

When adding new documentation:

1. Place architecture docs in `migration/`
2. Place research documents in `research/`
3. Place user guides in `guides/`
4. Update this readme with links to new documents