



Longreader is a Telegram mini app designed to help users save and read long articles conveniently.
You can use this app as publicly deployed by @brzvsk here: https://t.me/ReadWatchLaterBot
❤️ We will appreciate any donations and support to keep the app running for everyone. Please, donate with Telegram Tribute Bot (VISA, Mastercard, MIR, and Wallet payments accepted).
- frontend/: Next.js application for the web interface
- backend/: FastAPI backend service
- telegram-bot/: Kotlin-based Telegram bot service
- nginx.conf: Nginx configuration for reverse proxy
- docker-compose.yml: Docker composition for all services
- Frontend: Next.js
- Backend: FastAPI (Python)
- Telegram Bot: Kotlin, Telegram Bot API
- Database: MongoDB
- Proxy: Nginx
- Container: Docker
- Docker and Docker Compose
- Node.js 18+ (for local development)
- Python 3.8+ (for local development)
- JDK 8+ (for telegram bot development)
- Maven (for telegram bot development)
Clone the repository:
git clone https://github.com/brzvsk/longreader.git cd longreaderSet up environment variables:
- Copy
.env.exampleto.envin bothfrontend/andbackend/directories - Update the environment variables as needed
- Copy
Start the application:
docker-compose up -d
This will start all services:
- Frontend on port 3000
- Backend on port 8000
- MongoDB on port 27017
- Nginx on ports 80 and 443
Navigate to the frontend directory:
cd frontendInstall dependencies:
yarn install
Start the development server:
yarn dev
Navigate to the backend directory:
cd backendCreate and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
Install dependencies:
pip install -r requirements.txt
Start the development server:
uvicorn app.main:app --reload
Navigate to the telegram-bot directory:
cd telegram-botSet up environment variables:
- Create a
.envfile with the following variables:BOT_TOKEN=your_telegram_bot_token BOT_USERNAME=your_bot_username MONGODB_URI=mongodb://localhost:27017/database_name
- Create a
Build the project:
mvn clean install
Run the bot:
mvn exec:java
Project was started by @brzvsk, @goldenluk, and @dreamwa1ker as an experiment. After that it was decided by the party to open source it.
This project is released under the GNU General Public License v3.0. See the LICENSE file for details.