A free and public tool to organise your timeline charts entirely made with Svelte, Typescript & π.
Take a look on our demo and give your feedback here.
Currently, there is no clear roadmap but we have done a lot of great stuff!
- βοΈ Allow multiple charts for the same session
- βοΈ Allow switching between your charts
- βοΈ Improve rendering when the graph is spread over very long periods (> 15 months)
- βοΈ Allow .toml files's usage
- βοΈ Guessing encoding of your files
- βοΈ Allow users to save their charts remotely
- βοΈ Share charts between user
But we continue to have lots of exciting ideas
- π₯ Improve tests coverage
- π Adding more control on data (length of string / validation of date / ...)
- π Implementing other types of charts (like gantt) see #4
- π New options to customize color see #2
- π Zooming in/out on your charts see #3
- ... see more
Thank you everybody for your help!
npm install
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --openTests are located in /src/__test__ directory. They are made with jest
npm run test
#or run the tests and refresh the test each time you modify a file
npm run test:watch
You can also ask for coverage
npm run coveragenpx sv check
npx eslintIf you'd like to try out TimeChart, or if you don't have the knowledge (or inclination) to host the application yourself, we suggest you use the official TimeChart server.
Advantages :
- β Free and available (as long as I can to pay the bills)
- β You don't have to worry about maintenance (version upgrades, server support, backup).
Keep in mind that the data you enter are stored with me.
The easiest way to install TimeChart is to use our docker-compose.yml file.
Create a directory of your choice (eg: ./timechart) to store the docker-compose.yml and .env files.
mkdir ./timechart
cd ./timechartDownload the docker-compose.yml and .env files by running these commands
wget -O docker-compose.yml https://github.com/besstiolle/Timeline/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/besstiolle/Timeline/releases/latest/download/example.envIf you wish to download the files via your web browser, remember to rename example.env to .env.
# You can find documentation for all the supported env variables at https://github.com/besstiolle/Timeline
# The location where your database is stored
DB_LOCATION=/your/own/directory/to/db
# The data-website-id code from umami
#TIMECHART_ANALYTICS_UMAMI_CODE=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
#TIMECHART_ANALYTICS_UMAMI_SCRIPT=https://cloud.umami.is/script.js
# The data-domain code from plausible
#TIMECHART_ANALYTICS_PLAUSIBLE_CODE=timechart.dev
#TIMECHART_ANALYTICS_PLAUSIBLE_SCRIPT=https://plausible.io/js/script.js
# Do we need to show the version of the install
TIMECHART_SHOW_VERSION=TRUE
| KEY | Value | Explanations |
|---|---|---|
| DB_LOCATION | /your/own/directory/to/db | The directory containing the database. By default, the docker configuration relies on the use of docker volumes to enable you to back up your database efficiently from the host machine. You can choose another method if you feel comfortable enough with this paradigm. |
| TIMECHART_ANALYTICS_UMAMI_CODE | string | The data-website-id code from umami. More informations here |
| TIMECHART_ANALYTICS_UMAMI_SCRIPT | https://cloud.umami.is/script.js | The umami script url. More informations here |
| TIMECHART_ANALYTICS_PLAUSIBLE_CODE | string | The data-domain code from plausible. More informations here πͺπΊ |
| TIMECHART_ANALYTICS_PLAUSIBLE_SCRIPT | https://plausible.io/js/script.js | The plausible script url. More informations here πͺπΊ |
| TIMECHART_SHOW_VERSION | boolean (default = TRUE) | Display the installed version and provide a visual notification when an update is available |
Still in the directory of your choice (eg: ./timechart), start the containers with these commands
docker compose up -dIf you don't want to use Docker Compose, you can launch the application with a single command line:
docker run \
--rm --name timechart_latest \
-p 3000:3000 \
-v /your/own/directory/to/db:/app/db \
-e TIMECHART_ANALYTICS_UMAMI_CODE=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa \
-e TIMECHART_SHOW_VERSION=TRUE \
besstiolle/timechart:latestExplanations:
--rm --name timechart_latestOptional : sets a clear name for the container and deletes it once the container has been switched off. (No data loss is expected if you use the option-v /your/own/directory/to/db:/app/db)-p 3000:3000Optional : Used to expose port 3000. You can configure to expose another port. For example, exposing port 8080 would give:-p 8080:3000-v /your/own/directory/to/db:/app/db: Defines the location of your database on the host disk.-e VAR_NAME=VAR_VALUE: Used to initialise the value of an environment variable. Please refer to the dedicated explanation table.
We've been using inlang and its equivalent Paraglide JS to translate this software since TimeChart version 0.2.0.
The following translations are currently available:
- β English
- β FranΓ§ais
Don't hesitate to push a PR to improve translation coverage.
To add a new language, create the corresponding file in ./messages/ (example: es.json for Spanish)
Modify the project.inlang/settings.json file and add the code in the locales node (example: es for Spanish)
"locales": [
"en",
"fr"
], "locales": [
"en",
"fr",
"es"
],Open the language file in ./messages/ (example: ./messages/es.json for Spanish) and add the missing key or modify the text.
"example_message": "Hola {username}",Validate the entire translation structure:
npx @inlang/cli validate --project project.inlangHelp translate missing text (this requires proofreading after all)
npx @inlang/cli machine translate --project project.inlang