https://github.com/teslenkopavlo/chatbotforplanningpersonaltasks
Telegram bots for a college course project
https://github.com/teslenkopavlo/chatbotforplanningpersonaltasks
college-project express javascript mongodb mongoose nestjs nodejs postgresql react rest-api telegraf telegram-bot telegram-mini-app todo-app typeorm typescript
Last synced: 3 months ago
JSON representation
Telegram bots for a college course project
- Host: GitHub
- URL: https://github.com/teslenkopavlo/chatbotforplanningpersonaltasks
- Owner: TeslenkoPavlo
- License: mit
- Created: 2025-10-25T16:03:39.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-25T17:27:15.000Z (8 months ago)
- Last Synced: 2025-10-25T17:29:11.686Z (8 months ago)
- Topics: college-project, express, javascript, mongodb, mongoose, nestjs, nodejs, postgresql, react, rest-api, telegraf, telegram-bot, telegram-mini-app, todo-app, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 124 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### 1. NestJS Telegram Chatbot
    
* **What it is:** A fully functional chatbot that operates via commands and a keyboard within Telegram.
* **Technologies:** NestJS, Telegraf, **PostgreSQL**, TypeORM.
* **Features:**
* Full CRUD (Create, Edit, Delete tasks).
* Statistics, filtering (completed/pending).
* Bulk actions (mark all, delete all).
* Random task.
* **Running:**
1. `npm install`
2. Create `.env` (specify `BOT_TOKEN` and `PostgreSQL` credentials).
3. `npm run start:dev`
---
### 2. Web App Chatbot (React + Express)
    
* **What it is:** A hybrid system. The chatbot in Telegram (`/start`) only opens a Web App.
* **Technologies:**
* **Backend:** Express, **MongoDB** (Mongoose).
* **Frontend:** React (Vite).
* **Features:** All functionality is implemented in the web interface (CRUD, filters, statistics).
* **Running (Backend `server.js`):**
1. `npm install`
2. Create `.env` (specify `BOT_TOKEN`, `MONGO_URI`, `WEB_APP_URL`).
3. `node server.js`
* **Running (Frontend `App.tsx`):**
1. `npm install`
2. Create `.env.local` (specify `VITE_API_URL` – the backend address).
3. `npm run dev` (for Telegram integration, **requires deployment to HTTPS**).
### 3. Deployment

* Both projects were deployed on the [Railway](https://railway.app/) platform.
* **NestJS Chatbot (TaskBot):** Deployed as a `server` service (NestJS) connected to a `Postgres` database.

* **Web App Chatbot (TaskWebAppBot):** Deployed as two services: `client` (React) and `server` (Express), connected to a `MongoDB` database.
