A simple car diary application created for a friend. Feel free to use or modify.
Note: The application is in Finnish.
- Frontend: React (Vite) with Material-UI
- Backend: Spring Boot (Kotlin)
- Database: PostgreSQL
- Authentication: Spring Boot Security with basic form login
- Diary Entries: Save kilometers to the driving diary
- PDF Export: Print required information per month to PDF (generated in the backend using OpenPDF)
- CRUD Operations: Create, read, update and delete diary entries
- Dark Mode: Application supports dark mode
- Navigate to the
/server
directory:cd server
- Build the project:
mvn clean install
- Initialize demo data (optional, but recommended to ensure the local environment has at least one user available for login):
./init.sh
- Run the application in dev profile:
mvn spring-boot:run -Dspring-boot.run.profiles=dev
After completing the backend setup, navigate to the frontend directory and start the development server:
- Navigate to the
/client
directory:cd client
- Start the development server:
npm run dev
To build both the frontend and backend as a single car.jar
file, run the following command:
- From the
/server
directory of the project:mvn clean package
This will generate a car.jar
file in directory /server/target/
that can be deployed.
- Set up the PostgreSQL database with the required schema.
- Update the database configuration in
application-dev.properties
.
- Login: Access the application and login with your credentials.
- Add Entries: Save your driving kilometers.
- Edit Entries: Modify existing entries.
- Delete Entries: Remove unnecessary entries.
- Export PDF: Generate a monthly report in PDF format.
- Dark Mode: Switch to dark mode as preferred.
Here are some screenshots of the application:
Using GitHub Actions to deploy this app to Hetzner.
This project is licensed under the MIT License.