Multi user time tracking application with web frontend and API.
Shortcut | Action |
---|---|
Alt + Shift + n | Add Activity |
Alt + Shift + p | Manage Projects |
Shortcut | Action |
---|---|
Shift + Arrow Left | Show previous Timespan |
Shift + Arrow Down | Show current Timespan |
Shift + Arrow Right | Show next Timespan |
The web user interface is available at http://localhost:8080/
. You can log in as administrator with admin/adm1n
or as user with user1/us3r
.
The backend is configured using the following environment variables:
Environment Variable | Default Value | Description |
---|---|---|
BARALGA_DB |
postgres://postgres:postgres@localhost:5432/baralga |
PostgreSQL Connection string for database |
BARALGA_DBMAXCONNS |
3 |
Maximum number of database connections in pool. |
PORT |
8080 |
http server port |
BARALGA_WEBROOT |
http://localhost:8080 |
Web server root |
BARALGA_JWTSECRET |
secret |
Random secret for JWT generation |
BARALGA_CSRFSECRET |
CSRFsecret |
Random secret for CSRF protection |
BARALGA_ENV |
dev |
use production for production mode |
BARALGA_SMTPSERVERNAME |
smtp.server:465 |
Host and port of your SMTP server |
BARALGA_SMTPFROM |
smtp.from@baralga.com |
From email for your SMTP server |
BARALGA_SMTPUSER |
smtp.user@baralga.com |
User for your SMTP server |
BARALGA_SMTPPASSWORD |
SMTPPassword |
Password for your SMTP server |
BARALGA_DATAPROTECTIONURL |
# |
URL to data protection rules. |
BARALGA_GITHUBCLIENTID |
`` | OAuth Client ID for Github. |
BARALGA_GITHUBCLIENTSECRET |
`` | OAuth Client Secret for Github. |
BARALGA_GITHUBREDIRECTURL |
http://localhost:8080/github/callback |
OAuth Redirect URL for Github. |
BARALGA_GOOGLECLIENTID |
`` | OAuth Client ID for Google. |
BARALGA_GOOGLECLIENTSECRET |
`` | OAuth Client Secret for Google. |
BARALGA_GOOGLEREDIRECTURL |
http://localhost:8080/google/callback |
OAuth Redirect URL for Google. |
Baralga supports the following roles:
Role | DB Name | Description |
---|---|---|
User | ROLE_USER |
Full access to his own activities but can only read projects. |
Admin | ROLE_ADMIN |
Full access to activities of all users and projects. |
Passwords are encoded in BCrypt with BCrypt version $2a
and strength 10. The tool https://8gwifi.org/bccrypt.jsp
can be used to create a hashed password to be used in sql.
BARALGA_DB=postgres://postgres:postgres@localhost:5432/baralga
A health check is available at http://localhost:8080/health
.
You can launch the application in VSCode with your custom environment variables. For that
create a file .env
in the root of this repository with the following content:
PORT=8080
BARALGA_JWTSECRET=my***secret
BARALGA_SMTPSERVERNAME=mysmtp.host.com:465
BARALGA_SMTPUSER=baralga@mydomail.com
BARALGA_SMTPPASSWORD=mysmtp***secret
BARALGA_DATAPROTECTIONURL=https://localhost:8080/dataprotection/
BARALGA_GITHUBCLIENTID=my***clientid
BARALGA_GITHUBCLIENTSECRET=my***secret
BARALGA_GITHUBREDIRECTURL=https://localhost:8080/github/callback
Migrate your local database using the migrate CLI. Install the CLI, e.g. on Mac using brew install golang-migrate
.
Then run the migration locally with:
make migrate.up