Connect locally, chat globally with Radiuschat
Explore the docs »
View Demo
.
Report Bug
.
Request Feature
- About the Project
- Built With
- Getting Started
- Usage
- Roadmap
- Contributing
- License
- Authors
- Acknowledgements
The aim of this project is to create a location-based chat app that enables users to connect with others who are within a certain geographical radius. The app will allow users to create chat rooms that are restricted to people within a specific location, providing a more relevant and private chat experience.
- The main challenges of the project include obtaining and updating the user's location in real-time, creating and managing chat rooms based on location and radius, filtering and displaying visible chat rooms to users, and handling user access and participation in chat rooms as they move in and out of the radius.
- The app will be developed using django and tailwind and best practices and will be optimized for mobile devices.
- Developers of all skill levels are welcome to contribute to the project.
The "Radiuschat" project aims to create a unique and valuable location-based chat app for users worldwide.
This project was built using:
- Django: a high-level Python web framework for rapid development and clean design.
- Tailwind: a utility-first CSS framework for quickly building custom designs.
- Flowbite: a Tailwind CSS UI kit for creating responsive web applications.
- Geocoder: a Python library for getting user location data based on IP addresses.
To get started with the "Radiuschat" app, simply clone this repository to your local machine and follow the installation instructions. Once the app is installed, you can create an account, set your location, and start chatting with people in your area.
Before installing the "Radiuschat" app, make sure you have the following prerequisites installed on your machine:
Python 3.7 or later
Pip package installer
Node.js and NPM (for Tailwind and Flowbite)
If you do not have Python, Node.js and NPM installed, you can download them from their official website:
https://www.python.org/downloads/
https://nodejs.org/en/download
To install the "Radiuschat" app, follow these steps:
-
Clone this repository to your local machine.
-
Create a virtual environment for the project and activate it.
-
Install the required Python packages using pip:
pip install -r requirements.txt
- Set up the database by running migrations:
python manage.py migrate
- Create a superuser account: python manage.py createsuperuser
python manage.py createsuperuser
- Install the required NPM packages for Tailwind and Flowbite:
npm install
- Build and Run the CSS file for the app using Tailwind:
npm run dev
- Run the server:
python manage.py runserver
- That's it! You should now be able to access the "Radiuschat" app in your web browser at http://127.0.0.1:8000/.
- Sign up for an account by providing your email address, username, name and creating a password.
- The app stores your ip address for identifing your location.
- Browse the available chat rooms that are available within your location radius.
- Join a chat room by clicking on the room name.
- Start chatting with other users who are located in the same area as you.
- Leave the chat room by clicking the "Leave Room" button. 7.You can also create your own chat room by clicking the "Create Room" button and setting the room name, location radius, and access type.
- Only users who are located within the specified radius and have been granted access to the room will be able to join and participate in the chat.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
- Please also read through the Code Of Conduct before posting your first idea as well.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Yug Solanki - Comp Science Student - Yug Solanki