Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/philippks/kms
Web application for time tracking and invoicing.
https://github.com/philippks/kms
invoicing time-tracking working-time
Last synced: 5 days ago
JSON representation
Web application for time tracking and invoicing.
- Host: GitHub
- URL: https://github.com/philippks/kms
- Owner: philippks
- License: gpl-3.0
- Created: 2018-06-01T13:14:03.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-10T12:07:29.000Z (3 months ago)
- Last Synced: 2024-08-10T13:25:47.713Z (3 months ago)
- Topics: invoicing, time-tracking, working-time
- Language: Ruby
- Size: 7.99 MB
- Stars: 10
- Watchers: 3
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - philippks/kms - Web application for time tracking and invoicing. (others)
README
![KMS logo](app/assets/images/logo-blue.png)
![GitHub release](https://img.shields.io/github/release/philippks/kms.svg) [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Build Status](https://travis-ci.org/philippks/kms.svg?branch=master)](https://travis-ci.org/philippks/kms)A web application for time tracking and invoicing.
Initially created for the [Koster Consulting AG](http://kosterconsulting.ch/) and in productive use since multiple years.
## Features
- Time & absences tracking
- Time & invoice reports
- Generate invoices based on tracked time
- Send invoice by e-mail
- Manage invoice payments
- and many more...## Getting Started
Use docker for development, testing and production.
### Start Locally
Install dependencies with mise:
```
mise install
```Start postgres database:
```
docker compose -f docker-compose.dev.yml up postgres
```Edit configuration file `.env.development` if necessary.
Start rails server:
```
bundle exec rails s
```Access web application: http://localhost:3000
### Run Tests Locally
To run the tests locally, ensure that postgres is running.
```
docker compose -f docker-compose.dev.yml up postgres
bundle exec rspec
```### Run Tests in CI
Run tests inside docker container with:
```
docker compose -f docker-compose.test.yml run --rm tests
```### Run Production
Change values in `.env.production` accordingly.
Start server with:
```
docker compose -f docker-compose.prod.yml up kms
```Access web application: http://localhost:3000
### Configuration
See `.env.example` for example configuration.
## Hints
### Invoice Configuration
The invoice parameters are configured with env variables:
- INVOICE_IBAN
- INVOICE_VAT_NUMBER
- INVOICE_SWIFT
- INVOICE_MAIL_FOOTER (use \n for newlines)To use a company template for the invoices, set the path to the corresponding PDF as `INVOICE_COMPANY_TEMPLATE_PATH`, e.g.
```yml
INVOICE_COMPANY_TEMPLATE_PATH='/home/kms/invoice_template.pdf'
```### Mails in development
In development no emails will be sent. One can access all emails here: http://localhost:3000/letter_opener
For more details, see https://github.com/fgrehm/letter_opener_web## Questions?
For any questions drop me a mail:
## License
[GPL-3.0](https://github.com/philippks/kms/blob/master/LICENSE)