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 |
[email protected] |
From email for your SMTP server |
BARALGA_SMTPUSER |
[email protected] |
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/baralgaA 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
[email protected]
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