baralga-app
baralga-app copied to clipboard
Simple and lightweight time tracking for individuals and teams, for the cloud in the cloud.
Baralga
Multi user time tracking application with web frontend and API.
User Guide
Keyboard Shortcuts
Track Activities
Shortcut | Action |
---|---|
Alt + Shift + n | Add Activity |
Alt + Shift + p | Manage Projects |
Report Activities
Shortcut | Action |
---|---|
Shift + Arrow Left | Show previous Timespan |
Shift + Arrow Down | Show current Timespan |
Shift + Arrow Right | Show next Timespan |
Administration
Accessing the Web User Interface
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
.
Configuration
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. |
Users and Roles
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.
Database
PostgreSQL Configuration
BARALGA_DB=postgres://postgres:postgres@localhost:5432/baralga
Health Check
A health check is available at http://localhost:8080/health
.
Development
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 local Database
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