Skip to content

This project involves a social networking application with a welcome page and profile page, focusing on implementing Frontend and Backend functionalities using JavaScript, SQLite and Python.

Notifications You must be signed in to change notification settings

Siddhesh19991/Social_networking_web_application

Repository files navigation

Social_networking_web_application

This project is a social networking application featuring a welcome page and a profile page. The primary objective of this project was to implement different functionalities for both the Frontend and Backend using JavaScript, SQLite and Python. Due to the emphasis on learning functionalities, less attention was given to CSS. A separate project was undertaken to focus on CSS to enhance the visual appeal of the website. You can find the repository for that project here.





Steps to view the app:

  1. Make sure the latest version of Python is installed.

  2. Create a virtual environment by running:
    virtualenv -p python3 specified_directory

    This is done to create and use a separate and isolated virtual machine for the application.

  3. Run the below command:
    source path_to_virtual_environment/bin/activate

  4. Ensure relevant libraries are installed as indicated in lines 1-7 in the server.py file. (Use pip3 install ____ )

  5. Now run the below command for the app to run:
    gunicorn -b 0.0.0.0:5000 --workers 1 --threads 100 server:app





Here are some more information about the functionalities implemented in the project:

  1. The Flask development web server was initially used, later transitioning to Gunicorn for deploying the app to an external server.

  2. SQLite3 was employed for database storage of user information.

  3. Postman was utilized for testing backend connections.

  4. Asynchronous HTTP requests were sent using the XMLHttpRequest object.

  5. Two-way asynchronous communication was established using the WebSocket protocol. This facilitated automatic sign-out of a user from one browser when the same user signed in from another browser. Additionally, a logout notification was sent to the old client for clear communication regarding the sign-out event.

  6. HTTPS status codes were implemented appropriately across various functions to ensure effective communication with the user.

  7. The website is made responsive so that the application is adaptable to different display resolutions from mobile to desktop using the "Bootstrap" framework.

  8. Geolocation was setup using the "Geocode.xyz" API and the implementation was done such that every message shall also include the user’s location who has posted it. (Note: Due to the limited number of free credits available for this API, once the limit has been reached, the address will, unfortunately, be displayed as "undefined" as the current auth key has reached its API limit)





Welcome View: Screenshot 2024-03-16 at 3 15 02 PM



Profile View:

This profile page has different tabs within it for the user to use as shown below

In the "Home tab", the user shall own a message wall on which other users and himself/herself can post messages on it. Screenshot 2024-03-16 at 3 16 55 PM

In the "Browse tab". The user shall be able to view another user's personal information, everything excluding their password, and message wall by providing his/her email address. The user can also post on their wall from this tab. Screenshot 2024-03-16 at 3 27 19 PM

In the "Account tab", the user can change their password and also sign-out. Screenshot 2024-03-16 at 3 17 18 PM

About

This project involves a social networking application with a welcome page and profile page, focusing on implementing Frontend and Backend functionalities using JavaScript, SQLite and Python.

Topics

Resources

Stars

Watchers

Forks