ProxiChat is a location-based social application that allows users to connect with others who share similar interests in their proximity. Utilizing GPS tracking, ProxiChat helps users discover people nearby with common hobbies and goals, encouraging meaningful interactions. The app includes customizable profiles, privacy settings and live feeds for enhanced user experiences.
- User Profiles: Create a customizable profile with details like age, ethnicity, workplace, education, and interests.
- Interest-Based Matchmaking: Users can find others with similar interests based on the number of shared tags.
- Privacy Controls: Users have control over their location visibility.
- GPS Integration: The app leverages GPS to show users on a map with location updates in real-time.
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript, Leaflet.js for map rendering
- Database: MySQL
- Version Control: GitHub
-
Clone the repository:
git clone https://github.com/WangaManga/ProxiChat.git
-
Navigate to the project directory:
cd ProxiChat -
Set up a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up the MySQL database:
- Create a database named
proxichatusing your MySQL client. - Configure the
db_configinproxichat.pyto match your MySQL credentials.
- Create a database named
-
Run the Flask application:
python proxichat.py
-
Open your browser and go to
http://127.0.0.1:5000/.
- Profile: Users can create and edit profiles with personal information and interests.
- Find Users: Users can search for others nearby who share common interests by setting filters.
- Map: View users on a map based on their location, with markers for those who match your interests.
- Requests: Interact with users through chat requests and manage communication.
We welcome contributions! Please feel free to fork the repository, submit issues, or open pull requests.
This project is licensed under the MIT License.
Feel free to modify the content as per your project needs or specifics.