Hoothoot

A Django Twitter-like social network web app for making posts and following people.

Django Python JavaScript Bootstrap

Hoothoot is a web application that provides a social networking experience similar to Twitter. It allows users to create posts, like and comment on posts, share content, and follow other users. The app features user authentication, robust post management, and real-time updates for likes and comments. Hoothoot was developed as part of a problem set for Harvard’s CS50w.


Tech Stack

Front-End JS ES14, HTML 5, CSS 4, Bootstrap 5
Back-End Python 3, Django 5
Database MySQL



Features


Authentication

Users can create an account by providing a unique username, email, and password. Once registered, they can log in to their accounts.


Create Posts

Signed-in users can create new text-based posts, which are visible to all users in the feed.


Like and Unlike

Users can like or unlike posts. JavaScript handles updates to the like count asynchronously, without reloading the page.


Edit Posts

Users can edit their own posts by replacing the post content with a textarea. Changes are saved without reloading the page, using JavaScript.


Feed

The feed displays all posts from all users, sorted by recency and popularity. Each post can be liked, commented on, and shared.


Following

The “Following” page shows posts from users that the current user follows, functioning similarly to the main feed but with a filtered set of posts.


Profile

The profile page displays all posts by the user. It allows others to follow or unfollow them while showing the number of followers and the users they follow.