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
![image](https://private-user-images.githubusercontent.com/72043323/346521466-b510b515-aff7-4267-955e-a4534584a184.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0OTEwMTMsIm5iZiI6MTczOTQ5MDcxMywicGF0aCI6Ii83MjA0MzMyMy8zNDY1MjE0NjYtYjUxMGI1MTUtYWZmNy00MjY3LTk1NWUtYTQ1MzQ1ODRhMTg0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIzNTE1M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdkZDI0MGYzNTM1YzdkZDQ4MmRjZGRkYmYxZmJjYjgxMjZjZmRmNjQ3MGJjMTljZWY5Y2IzMDFlMWI2OTMzY2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.JEzryKO7VlLvFdRXGV5lgvKGTHpcLr0Cn_7RF39kM74)
- 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.