An open API service indexing awesome lists of open source software.

https://github.com/medosama/face50

My CS50x 2024's Final Project!
https://github.com/medosama/face50

bootstrap cs50 cs50x css flask harvard-university harvardcs50 html javascript project software-engineering sqlite web web-development

Last synced: 2 months ago
JSON representation

My CS50x 2024's Final Project!

Awesome Lists containing this project

README

        


Face50


Video Demo: https://youtu.be/-28KNUeXx5Y


Face50

![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)
![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)
![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)
![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E)
![Bootstrap](https://img.shields.io/badge/bootstrap-%238511FA.svg?style=for-the-badge&logo=bootstrap&logoColor=white)
![Flask](https://img.shields.io/badge/flask-%23000.svg?style=for-the-badge&logo=flask&logoColor=white)
![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge&logo=sqlite&logoColor=white)

# Description
A social media site like FaceBook but with my own personal touch! I created this website without taking any courses other than CS50x, however, I had to do a lot of Google and Stackoverflow searching. I didn't use any AI tools to create this project or its documentation though.
# Features
- Responsive design to support all screens.
- Registration page with these rules:
- Usernames must be 3 to 20 characters long.
- Passwords must be 8 to 20 characters long.
- Usernames can only contain letters, numbers, and _.
- Usernames can have at most one _, but not start nor end with it.
- Usernames cannot be all numbers.
- Fancy and mobile-friendly navigation bar.
- Themes dropdown to switch between light, dark, and auto modes.
- Toast messages with an animated progress bar.
- Posting function where posts can contain text and/or images.
- Posts contain their creation date in the format of "just now", "a minute ago", etc...
- Post uses the most common color of the image (if it has one) as a background for that image. Also uses lightbox to display images.
- Ability to like, unlike, repost, share, copy, expand, and delete posts.
- Hashtags feature where hashtags are colored in blue and clicking them shows all posts that contain that hashtag.
- Search function to search through users and posts.
- Home page that lists all recent posts made by users ordered by post date.
- Profile page for each user that lists their posts and allows them to customize their profile picture, cover and about.
- Friending function allows you to send, cancel, remove, and accept friend requests, then you can unfriend users.
- Friends page where you can view and manage your friends, requests you received, and requests you have sent.
- Settings page to customize your profile and update your password.
- Handled many bad use cases and errors, and implemented some security practices from week 10.
- And a lot more...
# Certificate
Link to my CS50x 2024 [certificate](https://cs50.harvard.edu/certificates/f035d773-caf5-413e-8d9c-62b0fc6fbfc3)