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.
- 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
-
Clone the Repository
git clone https://github.com/ArchiVision/Community.git
-
Navigate to the Project Directory
cd Community
-
Install Dependencies
mvn install
-
Set Environment Variables
Create a
.env
file in the root directory by the .env-sample one -
Get your IPv4 address for prometheus.yml
java -jar ip-resolver.jar
-
Go to project root directory and run command
./run-project.sh if no acccess -> chmod +x run-project.sh try again -> ./run-project.sh
-
It should run all containers including monitoring and logging
- 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.
- 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
This open-source project is available under the MIT License.