Skip to content

Telegram bot for matching with people who have similar interests, create communities, promote your ideas, analyse statistic

Notifications You must be signed in to change notification settings

ArchiVision/Community

Repository files navigation

Community Bot

Description

This bot is designed to connect people based on their interests and preferences. Built with Spring Boot and Java, the bot offers a range of features to enhance user interaction and community building.

Architecture / Working flow

bot_arch

Dev Features

  • User Registration: Allows new users to register and create profiles.
  • Interest Matching: Matches users based on their selected topics of interest.
  • Real-time Notifications: Notifies users when they have a match.
  • Admin Commands: Provides admin-level commands for better control.
  • Caching: Uses custom caching for improved performance.
  • State Management: Utilizes a userFlowState machine pattern for handling different user states.
  • Payment System Integration: Uses WayForPay payment engine to perform user transactions

Quick Setup

  1. Clone the Repository

    git clone https://github.com/ArchiVision/Community.git
  2. Navigate to the Project Directory

    cd Community
  3. Install Dependencies

    mvn install
  4. Set Environment Variables

    Create a .env file in the root directory by the .env-sample one

  5. Get your IPv4 address for prometheus.yml
    java -jar ip-resolver.jar

  6. Go to project root directory and run command

    ./run-project.sh
    if no acccess -> chmod +x run-project.sh
    try again -> ./run-project.sh
    
  7. It should run all containers including monitoring and logging

image

Usage

  • Start the bot by sending /start command.
  • Follow the on-screen instructions to complete your profile.
  • Get matched with other users based on your interests.

Technologies

  • Java
  • Spring(Boot, Data JPA, Web)
  • PostgreSQL
  • Redis
  • RabbitMQ
  • AWS (S3, EC2)
  • Maven
  • GitHub Actions
  • JUnit
  • Docker
  • Ngrok for building webhooks consumers and test bot without deploying

License

This open-source project is available under the MIT License.

About

Telegram bot for matching with people who have similar interests, create communities, promote your ideas, analyse statistic

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages