Skip to content

A Django based social-networking web application developed by Ritvik Gupta and Archit Bubna.

Notifications You must be signed in to change notification settings

architb12/IITDForum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IITD Forum

IITD Forum is a web-application developed using the Python based Django web framework. It is a multi-user social network, customised to be used by IITD undergraduate students, with a responsive interface created with the Bootstrap framework, and highly adaptive to all screen sizes (Smartphone, Tablet, PC).

Screenshots of the application on all screen sizes:

Phone iPad
Laptop

Developers

Note

  • This application is not developed, used or endorsed by the Indian Institute of Technology, Delhi. This is an independent project by Ritvik Gupta and Archit Bubna.
  • Installations required for running the application on a local server are mentioned in the requirements.txt file.
  • The admin site for the repository can be accessed from http://127.0.0.1:8000/admin/ on the local server.
  • The user credentials for the Admin account are
    • Username : admin
    • Password : adminpassword

Key Features

The application provides the user with all the fundamental functionalities of a social-network.

Account creation and setup

The application consists of a secure registration and login system. After signing up, a user can follow an interactive 3-step procedure to setup their profile. The procedure is customised for IIT Delhi undergraduate students.

Screenshots of the Account Creation process:

Login Sign Up Setup Setup Setup

The Profile Page

The user may upload a profile picture by simply clicking on their existing profile picture on their profile page. A user may edit any of their credentials, including their username, email, name, bio, date of birth, hostel, department, and password.

The profile page consists of a user's details and a 'bio', which can modified by the user at any time. The profile page also displays all of the posts written by the user.

Profile

Posts

A user may write a post of upto 5000 characters, which will be visible to all other users on the Forum.

Post

Likes

A user may 'like' a post by clicking the 'heart' icon at the bottom of the post. The application allows all users to view the number of likes on a post, and the list of users who have liked the post. A user may view the list of likers by clicking on the text that displays the number of likes for the post.

Likes

Comments

A user may write a comment on any post on the Forum. The comment will be visible to all other users on the Forum.

Deletion

A user may delete any of their own posts and comments by clicking on the trash-icon next to the post/comment.

Delete

Character limit

The character limit for posts and comments are 5000 characters and 500 characters respectively. The application displays a real-time character counter as one enters input into the post/comment creation fields, for the user to check if they are within the limit.

Spam Prevention

In order to prevent spamming, the application does not allow a user to create more than 10 posts or 100 comments within a span of 24 hours.

Tagging users

While writing a post or a comment, a user may tag any user on the Forum by simply typing their username after an '@' symbol. As soon as a user enters the '@' symbol into the input field, real-time tag suggestions appear, which narrow down on the basis of the characters typed by the user after the '@' symbol. The suggestions narrow down on the basis of the appearance of the user's input string in the names/usernames of users registered on the Forum.

Tagging

Notifications

Notifications are created in two scenarios:

  • Every time the user is tagged in a comment/post by some other user.
  • Every time another user comments on the user's post

The notifications can be viewed by clicking the bell-icon in the navigation bar, which shows the number of unseen notifications on it. Every time a user clicks on a notification, they are directed to the respective post, where the notification was generated. On visiting the post, all notifications for that user that were generated on this post are marked as 'seen'. The user may also mark all notifications as 'seen' by simply clicking on the 'Mark all as read' button on the bottom of the notification list. For each user, only the last 10 notifications are stored, and older notifications are deleted.

Screenshot of the Notification panel of a user:

Notifications

Pagination

On each page, the content loads as the user scrolls down to the bottom of the loaded content.

Pagination

Search bar

A user may access the search bar by clicking on the 'search-icon' on the navigation bar. The search bar allows the user to search for any user registered on the Forum. The search results are shown in real-time, i.e. as the user types into the search bar, and the results appear on the basis of the presence of the input string in the names/usernames of registered users.

Searching for a user:

Search

Search

About

A Django based social-networking web application developed by Ritvik Gupta and Archit Bubna.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published