Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/l1ve4code/telegram-note-bot

Telegram-bot - for storing/ sharing user notes, and creating notifications.
https://github.com/l1ve4code/telegram-note-bot

java liquibase postgresql spring telegram-bot telegrambots

Last synced: about 7 hours ago
JSON representation

Telegram-bot - for storing/ sharing user notes, and creating notifications.

Awesome Lists containing this project

README

        

📓 Note [Telegram bot]

## About

Telegram-bot - for storing user notes, with the ability to share your notes with other users and create reminders.

You can try it [here](https://t.me/enterprise_note_bot).

| | | |
|-------------------------------------|---------------------------------------------|--------------------------------------|

### Goals

* ✅ Add basic functionality with storing user notes in a **List**;
* ✅ Integrate a database and start using it instead of a **List**;
* ✅ Add text and hints for existing commands;
* ✅ Add the ability to automatically generate a table structure in the database for easy deployment of the project;
* ✅ Add the ability to work with the bot using the **(reply/ inline) keyboard**;
* ✅ Add the ability to share your notes with other users;
* ✅ Add the ability to create notifications;
* ✅ Add the ability to delete notifications;
* ✅ Consider corner-cases;
* ✅ Make a Dockerfile to run the project.

### Technologies

* Language: **Java**
* Framework: **Spring Framework**
* Database: **PostgreSQL**
* Technologies: **Telegrambots, Lombok, Liquibase**

## Installing

### Clone the project

```shell
git clone https://github.com/l1ve4code/telegram-note-bot.git
```

### Set your values in postgres.yml or production.yml

_(For example: username, password and etc, or **use defaults**)_

```yaml
postgres:
container_name:
image: postgres
environment:
POSTGRES_USER:
POSTGRES_PASSWORD:
PGDATA: /data/postgres
volumes:
- postgres:/data/postgres
ports:
- "5432:5432"
restart: unless-stopped
```

### Replace the gaps in the config with your values

_(Properties path: src/main/properties.d/telegram.properties)_

```properties
spring.datasource.url=jdbc:postgresql://:5432/
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=org.postgresql.Driver

spring.liquibase.change-log=classpath:postgres/changelog.xml

telegram.bot.name=
telegram.bot.token=
```

### Project startup _(using IDE)_

First, you need to run docker-compose

```shell
docker-compose -f postgres.yml up
```

Then you need to start the Java project using your IDE

### Project startup _(using Docker)_

Just run this command and project will be built and launched automatically

```shell
docker-compose -f production.yml up
```

Good luck ✨

## Author

* Telegram: **[@live4code](https://t.me/live4code)**
* Email: **[email protected]**