Chatmos is a web application designed to foster 1-1 human connections around specific topics or ideas. Users can cast out multiple conversations at once, maximizing their chances of making a connection. With the help of artificial intelligence, users are seamlessly matched with conversation partners based on their interests. The application also provides several additional functionalities like content moderation, language support, and sentiment analysis to ensure a safe and enriching user experience.
- Topic-based Conversation Matching: Find other users interested in the same topics as you.
- AI Integration: The AI chatbot can serve as a conversation facilitator, ice-breaker, and fact-checker.
- Content Moderation: Ensures a safe and respectful environment by monitoring for inappropriate language or behavior.
- Language Support: Offers real-time translation for users speaking different languages.
- Sentiment Analysis: Analyzes the tone of the conversation and adapts its interventions to match the mood.
This project uses React on the frontend and Flask on the backend. You'll need to have Node.js (which comes with npm) and Python installed on your computer. You'll also need to install the Anaconda package manager.
Download Node.js and npm from here.
Download Python here. Download Anaconda here.
Clone this repository to your local machine.
git clone https://github.com/username/Chatmos.gitNavigate to the frontend directory and install the dependencies.
cd frontend
npm installStart the React development server.
npm startThe app should now be running on http://localhost:3000.
Navigate to the backend directory and create a new Conda environment from the environment.yml file and activate it.
cd backend
conda env create -f environment.yml
conda activate convPut your OpenAI API key in a hidden file called .env in the backend directory.
cd backend
echo "OPENAI_API_KEY=<your-api-key>" > .envRun the Flask server.
python main.pyThe backend API should now be running on http://localhost:5000.
Contributions are welcome
This project is licensed under the terms of the MIT license. See the LICENSE file for details.