An application that lets you manage an independent wishing list for your family and friends. Come together in a group and share your wishes with each other.
(c) Archilios, 2023
Inception: 10 december 2023
Contributors: Nick Bauters
This application is a web application that lets you manage an independent wishing list for your family and friends.
Version | Date | Status | new functions |
---|---|---|---|
v0.0.1 | 10/12/2023 | configuration | - Project configuration |
v0.0.2 | 11/12/2023 | configuration | - Spring Security - GitHub template improvements |
This project is licensed under the MIT License.
The application is developed by Nick Bauters Archilios, and is being developed as a learning project.
Name | Role | Started | Stopped |
---|---|---|---|
Nick Bauters | Project Owner | 10/12/2023 | not applicable |
Currently the software is in development at version 0.0.2. This version is not production ready, and is only used for configuration of the project.
The current features are:
- Project configuration
- Database: PostgreSQL
- Frontend: Vaadin 24
- Backend: Spring Boot 3 & Java 21
- Security: Spring Security
- Authentication
- username & password login enabled
The project is generally managed and documented via GitHub projects.
If you want to contribute to this project, you can contact the project owner via GitHub. Before contributing, please read the contribution guidelines.
Via SDKMan Install SDKMan
sdk install java 21.ea.35-open
sdk use java 21.ea.35-open
To be able to run the project, the following local variables should be set. Every value states if the user can choose this for local development, or should be asked to the project owner.
# Database
DATABASE_DB: {USER_CHOICE}
DATABASE_USER: {USER_CHOICE}
DATABASE_PSW: {USER_CHOICE}
DATABASE_URL: jdbc:postgresql://localhost:5432/${DATABASE_DB}
This can be copied from the following step, if asked to the project owner.
For the docker compose file, you need to set up the .env file in the root of the project. This file may not be persisted to the repository, as it contains sensitive information. This should contain:
DATABASE_DB={YOUR_DATABASE_NAME}
DATABASE_USER={YOUR_USER}
DATABASE_PSW={YOUR_PASSWORD}
DATABASE_URL=jdbc:postgresql://localhost:5432/${DATABASE_DB}
Make sure these are the same as the Database environment variables. This file can be requested with the project owner.
Running the application can than be done with the following command.
docker-compose up -d
Tearing everything down, can be done with the following command.
docker-compose down -v
The database contains scripts for hard resets with dummy values.
</Should be updated>
The project is a standard Maven project. To run it from the command line,
type mvnw
(Windows), or ./mvnw
(Mac & Linux), then open
http://localhost:8080 in your browser.
You can also import the project to your IDE of choice as you would with any Maven project. Read more on how to import Vaadin projects to different IDEs (Eclipse, IntelliJ IDEA, NetBeans, and VS Code).
</Should be updated>
To create a production build, call mvnw clean package -Pproduction
(Windows),
or ./mvnw clean package -Pproduction
(Mac & Linux).
This will build a JAR file with all the dependencies and front-end resources,
ready to be deployed. The file can be found in the target
folder after the build completes.
Once the JAR file is built, you can run it using
java -jar target/wishing-well-1.0-SNAPSHOT.jar
All documentation that is not provided in this file, can be found in the documentation folder of the project. Next to the general documentation for contributing to this project, this folder contains 2 types of documentation.
These are the guidelines on how to work together on this project.
This is the documentation on the architecture of the project.
- Read the documentation at vaadin.com/docs.
- Report issues, create pull requests in GitHub.