Checkout the live version here
Welcome to the FEROCHAT Messenger App! This is a Django-based messaging web application that allows users to send text, images, audio, videos, and various other types of files. It is designed to facilitate communication between individuals, helping them make friends, create chat groups, and stay connected.
It should be noted that this project is still a work in progress and contributions are welcomed. Check Contibuting for more infos :)
- Users can create accounts securely and log in.
- Passwords are hashed and stored securely.
- Users can reset passwords when forgotten using the "forgot password" link in the login page
- Users can set up and update their profiles with profile pictures and personal information.
- Users can send and accept friend requests.
- A user's friend list is displayed in the app.
- Users can remove friends from their friend list.
- Users can create chat groups and invite friends to join.
- Group admins can manage group settings, such as group name and profile picture.
- Group members can send messages to the group.
- Group members can exit group
- Instantly send text messages, images, audio, videos, and files.
- Messages are displayed in real-time, ensuring a seamless conversation experience.
- Share images, videos, audio clips, and files within chats.
- Preview images and videos directly in the chat interface.
- Users can search for specific messages within a chat or group conversation.
- Receive push notifications for new messages and friend requests.
- Notifications keep users informed of important events.
- Messages and user data are encrypted to protect user privacy.
To run the FEROCHAT Messenger App locally, follow these steps in your console:
-
Clone this repository:
git clone https://github.com/FEROS01/FEROCHAT.git
-
Install python's venv module
pip install virtualenv
-
Enter the Messenger folder
cd Messenger -
Create a folder named 'media':
mkdir media
-
Create a
.envfile and configure your environment variables (e.g., database settings, secret key).#In the .env file SECRET_KEY = "yourSecretKey" EMAIL_USER = "yourEmailAddress" EMAIL_PASSWORD = 'yourEmailPassword'
Checkout this link to learn how to setup your django email
-
Create a virtual environment (recommended) and activate it:
#on mac python -m venv venv source venv/bin/activate #on windows python -m venv venv venv/Scripts/activate
-
Install dependencies:
pip install -r requirements.txt
-
Navigate to this file
venv/Lib/site-packages/magic/__init__.pyand replace its content with thisfrom .magic import * __version__ = '0.4.14'
-
Apply database migrations:
python manage.py migrate
-
Create a User object for the FeroChat app:
python manage.py createsuperuser --username 'FeroChat' --email 'dummyEmailAddress' # You will be required to give a password
-
Create a User account for yourself:
python manage.py createsuperuser # follow the prompts -
Start the development server:
python manage.py runserver
-
Access the application in your web browser at
http://localhost:8000.
- Register for an account or log in using your username .
- Add friends by searching for their usernames and sending friend requests.
- Create chat groups and invite friends to join.
- Start conversations by clicking on a friend's name or a chat group.
- Send messages, images, audio, videos, and files by clicking the respective icons in the chat input box.
- Enjoy real-time communication and stay connected with your friends!
We welcome contributions to the FEROCHAT Messenger App. To contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix. (Please only fix one issue per pull request)
- Make your changes and commit them with descriptive messages.
- Push your branch to your fork.
- Create a pull request to merge your changes into the main repository.
This project is licensed under the MIT License - see the LICENSE file for details.
Thank you for using the FEROCHAT Messenger App. I hope you enjoyed the experience and found it useful in one way or another. If you have any questions or encounter any issues, please don't hesitate to contact me on twitter or on Linkedin.

