Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

244 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Contributors Forks Stargazers Issues project_license


Logo

Multi Agent Recommender System (MARS)

A Telegram Bot and API that helps users with namaz-related questions using a multi-agent recommender architecture.
Explore the docs Β»
πŸ“Ί Watch Demo Video
🌐 View Product

Table of Contents
  1. Project Goal and Description
  2. Project Context Diagram
  3. Built With
  4. Getting Started
  5. Usage Guide
  6. Feature Roadmap
  7. Development (on github pages)
  8. Quality Assurance (on github pages)
  9. Build & Deployment (on github pages)
  10. Architecture
  11. License
  12. Contacts
  13. Acknowledgments

🧭 Project Goal and Description

The goal of this project is to build a multi-agent recommendation system that assists users with Islamic prayer guidance through an interactive Telegram bot. The system is backed by a FastAPI server and uses MongoDB to store users and conversations.

Key Objectives:

  • Provide helpful recommendations and answers about namaz in a conversational way.
  • Maintain and analyze user interactions to improve personalized responses.

System Structure:

  • A Telegram bot (using python-telegram-bot) that communicates with users.
  • A FastAPI backend that handles data storage, business logic, and API routing.
  • A MongoDB database accessed via the async motor driver.

(back to top)

🧩 Project Context Diagram

Project Context Diagram

(back to top)

πŸ› οΈ Built With

Python FastAPI MongoDB Motor Telegram Bot API Pydantic Dotenv Uvicorn HTTPX Requests Docker

(back to top)

πŸ›£οΈ Feature Roadmap

  • Bot can understand the context
  • Bot can understand the app structure
  • User can create multiple conversation
  • User can ask everything about namaz
  • User can send voice messages
  • Endpoint for Namaz.app
  • Provide the explanation how model work

(back to top)

πŸ“˜ Usage Guide

πŸ€– Telegram Bot

You can use our bot by launching it using the provided link. No further action is required.

🌐 FastAPI Backend

To use the recommender system you can contact us to get API endpoints.

(back to top)

πŸš€ Getting Started

Railway Deployment instructions

The Railway service is used to deploy our project. To repeat the project deployment, you can follow these steps:

  1. Register or log in to your Railway account
  2. Click to button to deploy new project
    second_step
  3. And choose project to deploy from the Github third_step
  4. Add enviroment variables: fourth_step
  • 4.1 Set your bot token
  • 4.2 Set webhook URL. You can find it in Settings -> Networking section fourth_second_step
  1. Deploy project and make adjustments according to the logs fifth_second_step

πŸ“¦ Manual deployment

  1. Clone the repo:

    git clone https://github.com/swp-team-1/mars_bot_1.5.git
    cd mars_bot_1.5
  2. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install the requirements:

    pip install -r requirements.txt
  4. Create an .env file (copy from .env.example) and configure:

    BOT_TOKEN=your_telegram_bot_token
    MONGODB_URI=your_mongodb_connection_uri
  5. Run services:

    uvicorn main:app --reload      # FastAPI backend
    python bot_main.py             # Telegram bot

(back to top)

πŸš€ Contributing

Contributions make the open source community an incredible place to learn and grow. Any help is greatly appreciated!

Have an idea to improve mars_bot_1.5? Fork the repo, make your changes, and open a pull request. Or just open an issue with the tag enhancement.

  1. Fork the project
  2. Create your branch (git checkout -b feature/MyFeature)
  3. Commit your changes (git commit -m 'Add MyFeature')
  4. Push (git push origin feature/MyFeature)
  5. Open a pull request

(back to top)

🌟 Top Contributors

Top contributors

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

πŸ“¬ Contacts

(back to top)

πŸ™ Acknowledgments

(back to top)

πŸ“š Documentation

Documenttation on Github Pages

(back to top)

πŸ— Architecture

(back to top)

About

Support Telegram bot for Namaz.app

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages