2023-09-03 02:12:43 +02:00
|
|
|
# Todo App with GO and HTMX
|
|
|
|
|
2023-09-04 13:29:40 +02:00
|
|
|
Goal: make a todo app with minimal reliance on other libraries and frameworks.
|
|
|
|
|
|
|
|
I'll assume that it is a single user app so I do not have to worry about concurrent access, high throughput,
|
|
|
|
etc..
|
|
|
|
|
2023-09-03 13:45:51 +02:00
|
|
|
## Plan day 1
|
2023-09-03 02:12:43 +02:00
|
|
|
|
|
|
|
- [x] create Go webserver
|
|
|
|
- [x] create landing page
|
|
|
|
- [x] import HTMX code
|
|
|
|
- [x] display todo list
|
2023-09-03 13:45:51 +02:00
|
|
|
- [x] add tailwind CSS
|
|
|
|
- [x] show todo list
|
|
|
|
- [x] let todos be marked completed
|
|
|
|
- [x] remove todos
|
|
|
|
- [x] add new todo with form
|
|
|
|
- [x] persist todos in redis
|
|
|
|
- [x] spruce up
|
2023-09-03 02:12:43 +02:00
|
|
|
|
2023-09-04 13:29:40 +02:00
|
|
|
|
2023-09-03 13:45:51 +02:00
|
|
|
## Plan day 2
|
|
|
|
|
2023-09-04 13:29:40 +02:00
|
|
|
make it use only battery included features
|
2023-09-03 13:45:51 +02:00
|
|
|
|
|
|
|
i.e. replace redis with an event driven approach
|
|
|
|
|
|
|
|
- [x] modularize app
|
|
|
|
- [x] replace redis with json stream
|
|
|
|
- [x] use hashmap for fast individual access
|
2023-09-04 13:29:40 +02:00
|
|
|
- [x] cache data to avoid reading each time
|
|
|
|
- [x] create event store
|
|
|
|
- [x] make events
|
|
|
|
- [x] implement event store
|