@@ -14,9 +14,9 @@ This is an app that can create reminders for conversation, and send a message wh
1414- Delete reminders
1515
1616> [ !IMPORTANT]
17- > As of now, the bot only supports a maximum of 5 active reminders per group.
17+ > As of now, the app only supports a maximum of 5 active reminders per group.
1818
19- ## Getting started
19+ ## Commands
2020
2121### The basics of ` /remind ` command:
2222
@@ -39,13 +39,13 @@ This is an app that can create reminders for conversation, and send a message wh
3939| one time reminder | ` /remind to ` | ` "Fill in your invoices by end of day" ` | ` "tomorrow at 17:30" ` |
4040| one time reminder | ` /remind to ` | ` "Fill in your invoices by end of day" ` | ` "next Tue at 17:30" ` |
4141| one time reminder | ` /remind to ` | ` "Reply to HR email" ` | ` "in 10 minutes" ` |
42- | one time reminder | ` /remind to ` | ` "Travel back in time to not develop the bot " ` | ` "11/11/2150" ` |
42+ | one time reminder | ` /remind to ` | ` "Travel back in time to not develop the app " ` | ` "11/11/2150" ` |
4343| recurrent reminder | ` /remind to ` | ` "Join the daily stand-up" ` | ` "every day at 10:00" ` |
4444| recurrent reminder | ` /remind to ` | ` "Empty the unread emails" ` | ` "every Friday at 17:00" ` |
4545| recurrent reminder | ` /remind to ` | ` "Empty the unread emails" ` | ` "every Mon, TUE, friday at 17:00" ` |
4646
4747> [ !TIP]
48- > You can set reminders for yourself. To do so, you can use the commands in a private conversation, a 1:1 with the bot .
48+ > You can set reminders for yourself. To do so, you can use the commands in a private conversation, a 1:1 with the app .
4949
5050### Other helpful commands:
5151
@@ -54,33 +54,24 @@ This is an app that can create reminders for conversation, and send a message wh
5454- ` /remind delete <reminder-identifier> ` (deletes the target reminder, the identifier can be obtained from the list
5555 command)
5656
57- ## Technical details
57+ ## Development setup
5858
59- ### Bot Architecture
59+ You first need to set all the env variables required by the app itself and the SDK inside.
60+ Check the ` .env.sample ` and create a new ` .env ` file while setting the properties.
6061
61- We are using a DDD-like architecture, but without the burden of defining a full DDD model (involving domains "experts"
62- and so on). The idea is to have a clear separation of concerns between the different layers of the application.
63- So each layer does the following:
62+ And also the env variables required by ` Wire Applications JVM SDK ` , check related README
63+ [ SDK README] ( https://github.com/wireapp/wire-apps-jvm-sdk/blob/main/README.md )
6464
65- - ** Application** : Exposes the REST API and handles the HTTP requests, it's what the clients see.
66- - ** Domain** : Contains the business logic, domain core entities, this layer is "clean" in other words, doesn't have any
67- dependency on other layers or frameworks. To access the logic, we provide UseCases, so we can group them (kind of
68- services + aggregates in DDD)
69- - ** Infrastructure** : Contains the implementation of the domain repositories, and other external dependencies, like
70- databases, queues technologies, framework configurations, etc.
7165
72- <img src =" https://imgpile.com/images/C7Q2Gj.png " width =" 800 " />
7366
74- ** Note** : To enforce layer dependency, can be split into different gradle modules, but for now, we are keeping it
75- simple.
76-
77- ### Bot Framework
67+ ## Running the application in dev mode
7868
7969This project uses Quarkus, the Supersonic Subatomic Java Framework.
80-
8170If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
8271
83- ## Running the application in dev mode
72+ If you don't want to mess with Quarkus, use the provided ` Dockerfile ` or ` docker-compose.yml `
73+
74+ Otherwise you can just start the ` db ` service in docker to have Postgres running and run the app yourself.
8475
8576You can run your application in dev mode that enables live coding using:
8677``` shell script
@@ -119,7 +110,7 @@ Or, if you don't have GraalVM installed, you can run the native executable build
119110./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true
120111```
121112
122- You can then execute your native executable with: ` ./ build/reminders-bots-1.0.0-SNAPSHOT-runner `
113+ You can then execute your native executable inside the ` build ` directory
123114
124115If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling .
125116
0 commit comments