Seiri is a lightweight Tasks/Notes taking app. The idea is to don't have any fancy features just the minimum you need to keep your daily tasks and notes within the same app and for free.
I built Seiri primarly for myself. I use it on a daily basis for my own needs if you trust me enough you can use the version hosted on my server but if you don't (what i can clearly understand) you can self-host the project on your own infrastructure.
Seiri allows you to organize your tasks and notes by project and provide a Markdown editor.
-
Project management: Allow users to add, edit, and delete projects. Project are used to organize tasks or notes.
-
Tasks management: Allow users to add, edit, and delete tasks from their project. Include features for completing tasks.
-
Notes management: Allow users to add, edit, and delete notes from their project. Include a markdown editor for editing and viewing notes.
Seiri is built using the following technologies:
Typescript
for both server and web applicationReact
for the web applicationNestjs
for the serverJest
for Unit testingDocker
andDocker compose
for containerization.
Name | Path | Stack | Description |
---|---|---|---|
@seiri/client |
/client | React | Web client |
@seiri/server |
/server | NestJS | Server |
@seiri/www |
/www | Gatsby | website |
For the production environment each service has its own pipeline built with Github Actions once changes are merged in the main branch, the pipeline is triggered. It will run the tests, build the image, push the new version to the registry then connect to the server and update the image used in production.
- The server has unit tests and i'm planning to add integration tests with Testcontainers.
- For the frontend there is no test yet i'm planning to do that but i have to refactor the code first cause it's a nightmare with the current codebase.
- Install Docker and Docker Compose.
- Change environment variable values in .env file for more security or leave it as it is.
In this mode, all latest images will be pulled from Docker Hub. Just copy compose.yml
and hit docker-compose up
.
If you'd like to build images yourself, you have to clone the repository. After that, run docker compose -f compose.yml -f compose.dev.yml up
.
docker-compose.dev.yml
inherits docker-compose.yml
with additional possibility to build images locally and expose all containers ports for convenient development.
The dev mode uses Compose watch as well so every time you make a change in the repository the image will be rebuilt that's convenient while working locally.
- http://localhost:3005 - Client
- http://localhost:3004 - Server
The tool is available as open source under the terms of the MIT License.
The project is open source so if you want to add new features or find any bug please feel to open a PR.