Skip to content

📕 Self-hosted (business) value centric application to organize and prioritize ideas and tasks across multiple teams or projects with markdown support and syntax highlighting.

License

Notifications You must be signed in to change notification settings

philipp-meier/Chrono

Repository files navigation


CI CodeScene Code Health License

Self-hosted (business) value centric application to organize and prioritize ideas and tasks across multiple teams or projects.

This application was inspired by the staffeng.com blog and helps you to keep track of ideas and tasks, that positively impact your project(s), in one central place and enables you to work on what matters.

Current features

  • Why-centric for maximizing impact.
  • Markdown support with syntax highlighting.
  • Manage task lists (e.g. "Team 1", "Team 2", "Architecture Board",...).
  • Manage tasks (rank, categorize, describe business value / impact,...).
  • Manage task categories (e.g. "Quality Improvement", "Time Saving", "Documentation", "Security"...).
  • Audit features (created, last modified).
  • Filtering (done, category, task list,...).
  • Responsive for smaller devices (e.g. mobile phones and tablets).
  • Multi-user capable with OpenID Connect authentication.
  • Follows security best-practices.
  • Docker support.
  • Manage notes.

Preview (30th September 2023)

Home

Home

Lists

Lists

Adding tasks

Adding tasks

Master Data

Master Data

Notes

Notes

Adding notes

Notes

Mobile

Mobile

Getting started

Run setup.sh to automatically create all required files (e.g. the SQLite3 database).
You also need an OAuth provider like auth0 and configure the Authority, ClientId and ClientSecret in the appsettings.json file of the WebUI project.

Once this is done, you can run the application with (for example) dotnet watch in the WebUI folder.

Swagger UI: https://localhost:7151/swagger/index.html

Docker

Chrono can also be run by Docker. You can configure the OAuth credentials in the docker-compose.yml or in the appsettings.json-file.
You also have to provide a https certificate, if you want to serve Chrono directly via https using the Kestrel web-server.

A dev-certificate can be created using the following command or running setup.sh:
dotnet dev-certs https -ep ./https/aspnetapp.pfx -p <password>.

To start the application, you can simply use the docker compose up command.

Useful scripts

sqlite3 chrono.db "VACUUM;"
dotnet ef migrations add Initial 
dotnet ef database update

E2E Testing

E2E testing is done via Playwright. The test suite automatically spawns the test server and shuts it down after all tests are completed.

Technology

  • Backend: ASP.NET Core Web API
  • Frontend: React with Semantic UI
  • Tools / Extensions: Editorconfig, Prettier