Project 1: Blogging Platform
Overview:
A blogging platform is a website where users can write, edit, publish, and read articles (blogs).
This type of platform is commonly used by writers, businesses, and individuals to share knowledge, thoughts,
and experiences with a wide audience.
Examples of real-world blogging platforms:
- Medium: Writers publish articles and share ideas.
- WordPress: Used for blogging, news, and business websites.
- Blogger: Google's blogging service for personal and professional blogs.
Who Uses Blogging Platforms?
- Students & Writers: Share their knowledge.
- Businesses: Post updates and promote products.
- News Portals: Publish articles and reports.
- Personal Bloggers: Share life experiences, travel stories, and opinions.
Features of the Blogging Platform:
1. Users can read published blogs without logging in.
2. Registered users can write, edit, and delete their own blogs.
3. Each blog post has a title, content, author, and timestamp.
4. Users can log in and log out securely.
5. An admin panel allows control over the blogs.
Pages & URL Structure:
Below are the pages this team will build, along with their URLs.
1. Home Page (List of Blog Posts)
- URL: /
- Displays a list of all published blogs.
- Each blog post shows title, short description, author, and timestamp.
- Clicking on a post redirects to the full blog page.
2. Single Blog Page (View Full Blog)
- URL: /post/<post_id>/
- Displays the full content of a selected blog post.
- Shows author name and published date.
3. User Registration (Signup Page)
- URL: /signup/
- New users create an account by providing a username, email, and password.
- After signing up, users are redirected to the dashboard.
4. User Login Page
- URL: /login/
- Users enter their email and password to access their account.
- After logging in, users are redirected to the dashboard.
5. User Dashboard
- URL: /dashboard/
- Shows all blog posts created by the logged-in user.
- Includes buttons to edit or delete their posts.
- Users can also create a new blog post from here.
6. Create a New Blog Post
- URL: /new/
- A form where users can write a new blog post.
- Users must be logged in to access this page.
7. Edit an Existing Blog Post
- URL: /edit/<post_id>/
- A form to modify an existing blog post.
- Users can only edit their own posts.
8. Delete a Blog Post
- URL: /delete/<post_id>/
- Confirms if the user wants to delete their post.
- Once deleted, the post is removed from the home page.
9. Logout Page
- URL: /logout/
- Logs the user out and redirects them to the home page.
10. Admin Panel
- URL: /admin/
- Accessible only to admins for managing posts and users.
- Admins can view, edit, and delete all blog posts.
Final Expected Output:
At the end of the internship, the team assigned to this project will complete a fully functional blogging platform
with:
- A user-friendly homepage displaying blogs.
- A secure user authentication system (signup/login/logout).
- A dashboard for users to manage their blog posts.
- A clean UI (without Bootstrap, only HTML & CSS).
- A working admin panel for managing blogs.