Skip to content

Dynamic blogging platform built with Laravel, featuring full blog post management, user authentication, and Twitter integration for instant or scheduled social sharing. Includes responsive design with Tailwind CSS, post filtering by category, a notification system, and user engagement through comments and likes.

Notifications You must be signed in to change notification settings

younesghu/FlyBlogs

Repository files navigation

FlyBlogs


About

FlyBlogs is a dynamic blogging platform built with Laravel. It enables users to create, manage, and share blog posts, with integrated Twitter support for instant or scheduled social sharing. Key features include blog scheduling, image uploads, post filtering by categories, a notification system, and interactive user engagement tools.

Features:

  • Complete Blog post management system: Create, Read, Update, and Delete (CRUD) blog posts.
  • Secure user authentication and profile customization.
  • Integrated Twitter sharing, allowing both instant and scheduled posts directly to Twitter.
  • Interactive commenting system and "like" feature for user engagement, with notifications sent to blog owners when a like or comment is created.
  • Responsive design ensuring optimal display on both desktop and mobile devices.
  • Filter and browse blogs by title, category, and description for enhanced searchability.

Technologies Used:

  • PHP (8.x)
  • Laravel (10.x)
  • OAuth Twitter Integration
  • MySQL database
  • Tailwind CSS

Installation & Setup

To get the project up and running, follow these steps:

  • Clone the repository:
  • 
    git clone https://github.com/younesghu/FlyBlogs.git
    cd FlyBlogs
      
  • Install dependencies:
  • 
    composer install
      
  • Create a .env file:
  • 
    cp .env.example .env
      

    Set up your environment variables in .env (e.g., database credentials).

  • Generate an application key:
  • 
    php artisan key:generate
      
  • Run the database migrations:
  • 
    php artisan migrate
          or
    php artisan migrate:fresh --seed
      

    Optionally, you can use the migrate:fresh --seed command to reset your database and seed it with sample data. This will include a user with the following details:

    • Name: David Johnson
    • Email: davidjohnson@test
    • Password: password
  • Start the development server:
  • 
    php artisan serve
      

Twitter Integration Setup

To enable Twitter sharing for blog posts, follow these steps:

  • Go to the Twitter Developer Portal and create a Twitter app.
  • Get your API Key, API Secret Key, Access Token, and Access Token Secret.
  • Add these credentials to your .env file:
  •  
                TWITTER_CLIENT_ID=your-twitter-api-key 
                TWITTER_CLIENT_SECRET=your-twitter-api-secret 
                TWITTER_ACCESS_TOKEN=your-twitter-access-token 
                TWITTER_ACCESS_SECRET=your-twitter-access-secret 
            
  • Ensure the user has linked their Twitter account through OAuth to share posts directly on Twitter.

Use Case Diagram

Task App Use Case

Use Class Diagram

Blog App Use Case Diagram

License

The Laravel framework is open-sourced software licensed under the MIT license.

About

Dynamic blogging platform built with Laravel, featuring full blog post management, user authentication, and Twitter integration for instant or scheduled social sharing. Includes responsive design with Tailwind CSS, post filtering by category, a notification system, and user engagement through comments and likes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages