Simple Kotlin + Spring web application to create and share gift lists.
You can deploy this application and use it to create and share gift lists for, for example, wedding, birthday, or anything you would like/need.
- Kotlin 1.9 and Java 17 language.
- Spring Boot 3.2 web framework.
- Thymeleaf template engine.
- Postgres 12 database and Flyway migration.
- Docker container.
- Favicon: https://favicon.io/emoji-favicons/wrapped-gift/
- Admin theme: https://startbootstrap.com/theme/sb-admin-2
- Guest theme: https://startbootstrap.com/template/shop-homepage
- Country flags: https://github.com/lipis/flag-icons
- First access admin user creation.
- Basic gift list management.
- Create and edit lists.
- Add, edit and remove gifts.
- Add, edit and remove guests.
- Generate access link and/or QR code.
- Image upload.
- At the moment you can use Cloudinary, just need to use your credentials in the application.properties.
- Guests can see the gifts and choose what will give.
- They can also see if the gift already was chosen by someone else to prevent two or more guests giving the same gift.
- Mobile responsive.
- Payment system; its purpuse is only to share and manage gift lists with guests.
- User creation. You can only create it in the first access or manually insert in the database.
- Clone this repository.
- Import this project on your Kotlin capable IDE, like IntelliJ.
- Run the dockerized Postgres database (or you can use your own Postgres instance).
- The database will be set up automatically by Flyway.
- Connection details in application.properties.
- Run GiftlistApplication.kt.
- Access the web application exposed at http://localhost:8080 with your browser.
- Clone this repository.
- Build the Dockerfile and run the Docker image with its dependency using one of the methods:
- Makefile:
$ make
- Docker compose:
$ docker-compose up --build giftlist
- Makefile:
- Access the web application exposed at http://localhost:8080 with your browser.
- The first time you access the application it will ask you the first user details. This user will be used to log in.
- Create a gift list.
- Add some gifts to it.
- Also add some guests to it.
- Copy the access link of one of your guests and share it with them. Each guest must access with its own access link, as it is attached to it.
- As the guests access you gift list and choose the gifts, you will see what gifts were choosen by someone (but not by whom). They will also see that the gift already was chosen by someone else, to prevent two or more guests giving the same gift.