Knotes is a simple and elegant to-do list application built with Kotlin, Vaadin, and PostgreSQL. It allows you to manage your tasks effectively with a clean and intuitive user interface.
- Create, Read, Update, and Delete (CRUD) to-do items: Easily manage your tasks.
- Search: Quickly find the tasks you are looking for.
- Assign users to tasks: Delegate tasks to team members.
- Set due dates: Keep track of your deadlines.
Follow these steps to set up the development environment.
This project uses bun to manage frontend dependencies.
bun installThis command builds the Vaadin frontend.
./gradlew clean vaadinPrepareFrontendThe application requires a PostgreSQL database. A Docker Compose file is provided for convenience.
docker compose -f src/main/docker/docker-compose.yaml up -dExecute the SQL script to create the necessary database schema.
/src/main/db/schema_creation.sql
To populate the application with some sample data, execute this SQL script.
/src/main/db/data_generation.sql
Once the development setup is complete, you can run the application in one of the following ways:
./gradlew run- Open the project in IntelliJ IDEA.
- Navigate to
/src/main/kotlin/com/knotes/Main.kt. - Run the
main()function.
After starting the application, you can access it by navigating to http://localhost:8080 in your web browser.