Welcome to the Instagram Clone project built using Laravel! This web application allows users to register, create profiles, share posts with images and captions, follow/unfollow other users, add likes and comments, and much more. The project is designed with various features to mimic the functionality of the popular social media platform, Instagram.
- Users can sign up using their email or phone, providing necessary information such as Full Name, Username, and Password.
- Email verification is implemented, ensuring the user's email is valid.
- Users can log in using their email and password.
- Forgot/Reset Password functionality is available.
- Users can edit their profile details, including avatar, bio, gender, and website.
- Changing the email triggers email verification for the new email.
- Users can change their password.
- Displays user information such as username, avatar, bio, gender, and website.
- Shows counts of user's posts, followers, and following.
- Lists user's followers and following.
- Displays published posts with the ability to navigate to the post view page.
- Users can follow/unfollow and block other profiles.
- Similar to the Profile View page with the addition of a tab for saved posts.
- Allows users to edit their profile.
- Users can add posts with one or more images and captions.
- Captions can include tags (words preceded by #). Tags can't contain spaces.
- Images are required, captions are optional.
- Displays post image with caption.
- Clickable tags navigate to the tag page.
- Users can comment and like any post.
- Comments display owner name, avatar, and time.
- Users can add the post to their saved list.
- Users can see posts related to the selected tag.
- Posts are shown in rows with three posts each.
- Clicking a post image navigates to the post view page.
- Users see the latest posts from profiles they follow with likes/comments (max 3 comments).
- Users can add likes/comments to the posts.
- Includes a search box for posts.
- Clone the repository.
- Install dependencies using
composer install
. - Install dependencies using
npm install
. - Set up your database and configure the
.env
file. - Run migrations and seed the database with
php artisan migrate --seed
. - uncomment ;extention=gd by removing the ";" in the php.ini file.
- Start the development server with
php artisan serve
. npm run dev
to compile and build the assets.- run
php artisan storage:link
to upload and use the images correctly.