A chatting application to add friends and chat in text and image messages which are encrypted to ensure your secrecy.
Try this project and all its functionalities here.
First Screen Page: This is the very first page that is available on http://127.0.0.1:8000/ which is the default localhost address in Django. | Admin Page: This is the default Django admin page that is available on http://127.0.0.1:8000/admin where all the models and their data are visible to the superuser. |
Home Page on load: This is the Home Page that is available on http://127.0.0.1:8000/home/. | Chat screen on Home Page: This screen is visible only once you start a new conversation or click on one of the message logs shown on the right of the image. |
Check out this Youtube video for complete video demo.
- REST API with PostgreSQL database and easy to understand admin page
- AJAX message system which provides a good user experience
- AES encrypted text messages so that the secrecy of the messages are ensured
- Responsive front-end
- Django & Python: It handles the backend and runs a server in Python.
- HTML, CSS & Javascript: They handle the front-end which is integrated into Django as templates.
- Bootstrap: For styling the front-end.
- jQuery & AJAX: To handle the messaging and notification modules along with all the asynchronous requests for example in the search bar.
- EmojioneArea: To include the emoji feature in chatting. This repository is available here
- Install pip from this link
- Install virtualenv from this link
- Create a virtualenv and activate it. Refer here
- Create a directory called chat_app and save all the folders and files in it
- Change the directory to chat_app
- pip install -r requirements.txt
- Create a superuser using: python manage.py createsuperuser
- Enter the superuser details in DATABASES which is located in settings.py
- python manage.py makemigrations
- python manage.py migrate
- python manage.py runserver
Note: Enter your email address and app password(needs to be generated in Gmail) in settings.py to use the password reset feature in this project.
Feel free to contribute to this repository and make this a better project. Thank you!
Fields to improve in this project:
- Encryption and decryption of text messages
- Image encryption has not been used yet
- Improvement in UI/UX
- Session handling
- New features