DC Project - EXPT 3
DC Project - EXPT 3
UID 2021600026
Batch B
EXP 3
Problem Develop a distributed computing solution for a dynamic blogging website that enables
users to create, update, and delete their blog posts, while also incorporating features for
Statement: liking and commenting on posts. The system should efficiently handle concurrent user
interactions
Scope of the ● Designing and developing a user-friendly interface for the blogging website.
Project: ● Implementing user authentication and authorization mechanisms to ensure
secure access to user accounts and blogs.
● Creating functionalities for users to create, update, and delete their blogs.
● Incorporating features for users to like and comment on blogs to encourage
engagement and interaction.
● Implementing robust backend systems to manage blog data storage, retrieval,
and updates.
Objective of the ● Create a dynamic and engaging platform that empowers users to express
Project: themselves through blogging.
● Foster a sense of community and collaboration among users by facilitating
interaction and dialogue through likes, shares, and comments.
● Provide users with the tools and resources necessary to create, share, and
discover meaningful content.
● Enhance user experience by delivering a seamless and intuitive interface that
encourages exploration and participation.
● Cultivate a vibrant and supportive blogging community that encourages
creativity, expression, and learning.
Functional
● User Authentication:
Requirements: ○ Registration and login functionality using JWT.
○ Secure password storage.
● Blogging Features:
○ Create, edit, and delete blog posts.
○ Like and comment on blog posts.
● User Interaction:
○ User profiles with personalization options.
Non-Functional
Requirements: ● Security:
○ Use of JWT for secure authentication.
○ Password encryption..
● Performance:
○ Efficient database queries for quick retrieval.
● Scalability:
○ Design the system to handle an increasing number of users and
posts.
● Usability:
○ Intuitive user interface and user experience.
○ Cross-browser compatibility and responsiveness.
4. User Authentication
- Allow users to sign up, log in, and log out.
- Only authenticated users can create/edit blog posts, like posts, and
comment.
- JWT token for authentication.
5. Likes Component
- Display the number of likes on each post.
- Allow authenticated users to like/unlike a post.
- Update the like count in real-time.
6. Comments Component
- Display comments for each post.
- Allow users to add new comments.
Backend (Django)
1. To connect MongoDB to Django, will use the djongo library, which is a
database connector that allows Django to work with MongoDB.
2. Models
- User ( To Store user personal Information).
- Blogs (Title, Content, Date, Likes, Comments)
3. Api Endpoints
Database (MongoDB)