Skip to content

Blogger is a comprehensive full stack web application designed for seamless blog management and user interaction. Built using a powerful technology stack that includes HTML, CSS, JavaScript, Bootstrap 2, Flask, and Python, along with MySQL/SQLite for database management, this application provides an intuitive and engaging blogging platform.

Notifications You must be signed in to change notification settings

LakshayD02/Full_Stack_Blog_Application_Flask

Repository files navigation

📖 Blogger - Full Stack Blog Application 🌐

💡 Description

Blogger is a comprehensive full stack web application designed for seamless blog management and user interaction. Built using a powerful technology stack, including HTML, CSS, JavaScript, Bootstrap 2, Flask, and Python, along with MySQL/SQLite for database management, this application provides an intuitive and engaging blogging platform. Blogger offers both users and administrators an easy way to create, manage, and explore blog posts.

With its secure user authentication, post management, and an intuitive admin panel, Blogger is designed to provide a rich, customizable blogging experience.

🚀 Features

🧑‍💻 User Features

  • 🎨 User-Friendly Interface: Clean, responsive design for a seamless experience across all devices.
  • 🔒 Robust Security and Authentication: Users can sign up, log in securely, with all passwords hashed for extra protection.
  • 📝 Post Management: Users can create, read, update, and delete blog posts, giving full control over their content.
  • 🖼️ Profile Management: Users can update their profiles, upload profile pictures, and delete their profiles if desired.
  • 🔍 Advanced Search Functionality: Find specific blog posts quickly with an integrated search feature.
  • ✍️ Rich Text Editor: Easily format blog posts with multimedia and various content styles through the integrated rich text editor.

👨‍💻 Admin Features

  • ⚙️ Admin Panel: Intuitive dashboard to manage users and content, ensuring complete oversight of the platform.
  • 🔧 User & Content Management: Admins can manage user accounts and blog posts to ensure a healthy blogging environment.

💡 Additional Features

  • 🛠️ CRUD Operations for Blog Posts: Create, Read, Update, and Delete blog posts easily.
  • 📤 Multimedia Support: Insert images, videos, and other rich media into posts.
  • 📜 User Interactivity: Users can comment on blog posts, engaging with the content and community.

⚙️ Technologies Used

Frontend:

  • 🎨 HTML/CSS/Bootstrap 2
  • 📜 JavaScript

Backend:

  • 🐍 Python
  • 🧰 Flask (Web Framework)
  • 💾 MySQL/SQLite (Database Management)

Authentication:

  • 🔐 Flask-Login (for user authentication)
  • 🔒 Werkzeug (for password hashing)

🎯 Ideal For

  • 👨‍💻 Bloggers: Individuals looking to share their ideas, experiences, and stories with an easy-to-use platform.
  • 👨‍💼 Admins: Admins who need to manage users, blog content, and ensure a smooth operation of the platform.
  • 📖 Content Creators: Users who want to build a rich, interactive blogging community.

⚙️ How to Run

  1. 📂 Clone the repository:
    Clone this repository to your local machine:
    git clone <repository_url>

  2. 🐍 Set up a virtual environment (optional but recommended):
    In the project directory, create a virtual environment:

    python -m venv venv
    
  3. 🧰 Install dependencies: Install the required dependencies for the project:

  1. ⚙️ Set up the database:

  2. Set up the database and tables:

  3. Use MySQL or SQLite as the database.

  4. Configure the database connection in the config.py file (modify credentials for MySQL if needed).

  5. Run the application to automatically create the database schema.

  6. 🚀 Run the application:

  7. Run the Flask application:

python app.py
🌐 Open the app:

Open your browser and navigate to http://localhost:5000 to see the application in action.

📚 Usage

💻 For Users:

  • Sign Up / Log In:

    • Users can create an account or log in to access their dashboard.
  • Create, Read, Update, and Delete Posts:

    • Users can create new blog posts, read others’ posts, update their own content, or delete posts they no longer want.
  • Profile Management:

    • Users can update their profile information, including uploading profile pictures.
  • Search:

    • Users can quickly search for specific posts based on keywords to find content easily.
  • Commenting:

    • Users can interact with others by commenting on their blog posts to engage in discussions.

👨‍💻 For Admins:

  • Admin Panel:

    • Admins can manage user accounts, blog content, and monitor activity across the platform.
  • Approve or Delete Content:

    • Admins have the ability to approve or delete blog posts if they violate platform rules.
  • User Management:

    • Admins can delete user accounts when necessary, ensuring that all users comply with the platform's guidelines.

Website Look

SS-1
SS-1
SS-1
SS-1
SS-1
SS-1
SS-1
SS-1
SS-1
SS-1
SS-1

About

Blogger is a comprehensive full stack web application designed for seamless blog management and user interaction. Built using a powerful technology stack that includes HTML, CSS, JavaScript, Bootstrap 2, Flask, and Python, along with MySQL/SQLite for database management, this application provides an intuitive and engaging blogging platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published