https://github.com/bevinaa/social-media-web-application
Social Media Web Application is an interactive platform designed for users to connect, share, and engage with content in a dynamic online environment
https://github.com/bevinaa/social-media-web-application
css data-structures flask html javascript python
Last synced: 3 months ago
JSON representation
Social Media Web Application is an interactive platform designed for users to connect, share, and engage with content in a dynamic online environment
- Host: GitHub
- URL: https://github.com/bevinaa/social-media-web-application
- Owner: Bevinaa
- Created: 2024-08-08T01:07:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-28T03:21:06.000Z (almost 2 years ago)
- Last Synced: 2025-02-06T15:02:24.455Z (over 1 year ago)
- Topics: css, data-structures, flask, html, javascript, python
- Language: HTML
- Homepage:
- Size: 4.98 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Social Media Application Using Python Flask
This is a social media web application built using Flask. It allows users to sign up, log in, create posts, upload images, and follow other users. The app also implements various data structures for user interaction and maintains a user's social connections.
## Features
- **User Authentication:** Users can sign up, log in, and manage their accounts.
- **Post Creation:** Users can create posts with captions and upload images.
- **Social Features:** Users can follow and be followed by others. Notifications are sent when someone gains a follower.
- **Profile Management:** Users can view their profiles, see their followers, following counts, and upload profile pictures.
## Setup and Installation
1. **Clone the repository:**
```bash
git clone https://github.com/bevinaa/Social-Media-Web-Application.git
```
2. **Install dependencies:**
```bash
pip install -r requirements.txt
```
3. **Run the application:**
```bash
python app.py
```
4. **Access the app:**
Visit `http://localhost:5000` in your web browser.
## File Structure
- **app.py:** The main application file containing all the routes and logic.
- **templates/:** Directory containing HTML files for rendering different pages.
- **uploads/:** Directory for storing uploaded images.
## Key Routes
- `/`: Home page
- `/login`: User login
- `/signup`: User registration
- `/create_account`: Final step for account creation
- `/my_feed/`: User feed page
- `/my_profile/`: User profile page
- `/add_post`: Create a new post
- `/follow/`: Follow another user
- `/upload_profile_pic`: Upload profile picture
## Data Persistence
User data, posts, usernames, and emails are stored using pickle files:
- **user_data.pkl:** Stores user information such as ID, name, email, etc.
- **usernames.pkl:** Stores registered usernames.
- **emails.pkl:** Stores registered email addresses.
- **user_posts.pkl:** Stores user posts.
## Image Uploads
Images uploaded by users are stored in the `uploads/` directory, and secure filenames are generated using `werkzeug.utils.secure_filename`.
## Notifications
The application uses session-based notifications to alert users of new followers.
## Contributions
Feel free to fork this repository and submit pull requests to contribute to the project.
## Contact
For questions or further information, please contact:
- **Name:** Bevina R
- **Email:** bevina2110@gmail.com
- **GitHub:** https://github.com/Bevinaa
## Output of the Project








