Merge development to main |
||
---|---|---|
.github | ||
backend | ||
frontend | ||
.gitignore | ||
LICENSE | ||
README.md | ||
pom.xml |
README.md
Timechamp
Timechamp is my personal time tracking tool. Since my current employer does not require its employees to record their working hours, I am required by law to do so myself. Timechamp also helps me to keep an overview for myself (since no one likes to work excessive overtime :) and can generate reports from it if there is a need.
Building a fat JAR (which includes the frontend)
- Clone the repository.
- Run
mvn clean package
in the root directory. - Maven will download Node.JS and Yarn to the
frontend/node/
directory. - Maven will install the frontend dependencies using
yarn install
. - Maven will build the frontend using
yarn build
. - Maven will compile the backend.
- Maven will package frontend and backend into one fat JAR file.
- The final JAR file will be located at
backend/target/backend-<Version>-jar-with-dependencies.jar
Project structure
Directories
backend/
Java module which provides the core backend functionality.frontend/
Java module which contains the Vue.js 3 frontend. This module does not contain any Java code and exists exclusively for the automatic build with maven. The frontend is built by maven during compilation and packaged into the JAR file of the backend.
Development
Backend
- Clone the repository.
- Open the root folder in your IDE of choice.
Frontend
Requirements: NodeJS 14.15.4+, Yarn
- Clone the repository.
- Open the
frontend
folder in your IDE of choice. - Run
yarn install
to install dependencies. - Run
yarn serve
to start the Vue.js project in development mode.
Contribution Guidelines
- Use 4 spaces indent and CamelCase
- Always leave enough empty lines in bigger code blocks
- Comment your code (in english)
- Stick to the structure
- Test your changes
- Update the documentation