This is an experimental project focuses on practicing Vaadin platform, GitLab Webhook and Spring Security.
From Vaadin official website:
Vaadin Flow is a web framework that allows you to write UI 100% in Java without getting bogged down in JS, HTML, and CSS. If you prefer, you can also create layouts in HTML or with a visual designer.
Your apps run on the server and handle all communication automatically and securely. Building on the strong Java ecosystem, Flow works with your favorite IDEs, tools, and libraries.
I am very excited about writing web app UI with fully OOP, so this project was born to practice this.
- Project status: Forward-looking, it means that the project may be changed or stopped at any time due to my learning policy.
- AdoptOpenJDK 11 with HotSpot JVM
- Software Development Kit Manager: SDKMAN!
- Build System: Gradle 6.8.2
- Database: H2
- Spring Boot 2.4.3
- Spring Boot Starter Security
- Spring Boot Starter Web
- Spring Boot Starter Data JPA
- Vaadin 14 LTS
- Picocli - Used to build rich command line applications then connect to communication software
- TelegramBots - Java library to create bots using Telegram Bots API
- gitlab4j - Planned to be used to create issues, but hasn't been implemented right now
- Libraries or Build tools
- Project Lombok - Getter, Setter, ToString, AllArgsConstructor and more..
- gson - Used for deserialize GitLab Webhook responses
The
Telegram UserId
is actually a typo, its correct name should bechat_id
.
- All of the CLI like command was written in this package as a spring component.
- All of the web app view was written in this package.