Initial commit
This commit is contained in:
commit
fac1341c1f
4 changed files with 30 additions and 0 deletions
5
agents.md
Normal file
5
agents.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# agents.md
|
||||||
|
|
||||||
|
## Setup commands
|
||||||
|
|
||||||
|
- Start development shell: `nix-shell`
|
||||||
2
rust-toolchain.toml
Normal file
2
rust-toolchain.toml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[toolchain]
|
||||||
|
channel = "stable"
|
||||||
11
shell.nix
Normal file
11
shell.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs ? import <nixpkgs> { },
|
||||||
|
}:
|
||||||
|
|
||||||
|
pkgs.mkShell {
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
rustup
|
||||||
|
cargo
|
||||||
|
just
|
||||||
|
];
|
||||||
|
}
|
||||||
12
todo.md
Normal file
12
todo.md
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Todo
|
||||||
|
|
||||||
|
[ ] Template a Rouille server that always returns an empty 404.
|
||||||
|
[ ] Create a database schema. There should just be one table for now: `projects`. The Projects table contains info about each project in the board. The table should have columns for title, created time, last modified time, percentage completed (integer), and a flag for archived. Since this is a single-user server, there doesn't need to be an metadata about whose project it is.
|
||||||
|
[ ] Create a `Project` struct that corresponds to the schema definition.
|
||||||
|
[ ] Create a module or struct at your discretion for interfacing with the database. Create functions for the following: create a project, update a project's progress, archive a project, unarchive a project, and list of all projects.
|
||||||
|
[ ] Create a `main.css` file in src. Use mvp.css as a starting point.
|
||||||
|
[ ] Create a `project-card.js` file in src that creates a web component for displaying a project.
|
||||||
|
[ ] Using a Rouille router, create `GET /main.css` and `GET /project-card.js` endpoints that returns the relevant files. Use the include_bytes! macro.
|
||||||
|
[ ] Create a `GET /projects` endpoint. Using Maud for markup generation, have this endpoint return an HTML page that shows all projects. Each project should be a `project-card` web component. Keep the page simple: no title or any buttons currently.
|
||||||
|
[ ] Create a `POST /projects` endpoint that accepts URL encoded data and creates a new project.
|
||||||
|
[ ] Create a `GET /new-project` endpoint that returns a HTML page with a project creation form. Keep it simple.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue