40 lines
1.2 KiB
Markdown
40 lines
1.2 KiB
Markdown
# Gotes
|
|
|
|
A simple golang based notes application
|
|
|
|
## Current state
|
|
|
|
Server application runs independantly & binds to port 8080 storing data in an sqlite table
|
|
|
|
Client CLI supports crud operations for notes with arguments consumed from flags
|
|
|
|
## TODO
|
|
- [ ] Implement `title` support in cli
|
|
- [ ] Refactor cli interactions to use a repository/notes interface wrapped implementation
|
|
- [ ] General project structure tidy up
|
|
- [ ] Update simplecli to use positional arguments comined with flags
|
|
- [ ] Create unified cmd entry point starting server in go routine closing after command completed
|
|
- [ ] Create config module for controlling server startup config
|
|
- [ ] Implement filesystem based notestore
|
|
- [ ] Implement webdav based notestore
|
|
- [ ] Implement git based notestore
|
|
- [ ] Create TUI based on charmbracelet eco system
|
|
|
|
### Target structure
|
|
|- config
|
|
|- cmd
|
|
| |- CLI (contains unified entrypoint with positional args for starting server / client ops)
|
|
| |- UnifiedCLI (CLI with auto background server)
|
|
| |- TUI
|
|
|- internal
|
|
| |- models
|
|
| |- repository
|
|
| | |- notes
|
|
| | | |- sqlite
|
|
| | | |- server
|
|
| | | |- filesystem ... etc
|
|
| |- service
|
|
| | | |- notes
|
|
| |- config
|
|
| |- handlers (HTTP server handlers)
|