This project is a simplified Instagram clone built using Next.js and Tailwind CSS. It includes core features like user authentication, posting, liking, commenting, and more. Our goal is to recreate some of the essential functionality of Instagram and build a platform for users to interact with posts and profiles.
- User Authentication: Login/Signup functionality.
- CRUD Operations:
- Create posts (with images or text)
- Like posts
- Comment on posts
- Edit/Delete posts
- Profiles: View your profile, follow users, see followers/following.
- Explore Page: Discover new posts and users.
- Responsive Design: Fully responsive UI built with Tailwind CSS.
- Next.js: A React framework for server-side rendering and static web applications.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- React Icons: Iconography for the sidebar and various UI elements.
Hereβs an overview of the folder structure:
src/
β
βββ assets/ # Static assets like fonts and images
β βββ fonts/
β βββ images/
β
βββ common/ # Common components like buttons and inputs
β βββ btn.jsx
β βββ input.jsx
β
βββ components/ # UI components used throughout the app
β βββ Create.jsx # Component for creating new posts
β βββ More.jsx # Load more button
β βββ PostCard.jsx # Component to display posts
β βββ Search.jsx # Search bar component
β βββ Stories.jsx # Component to display stories
β βββ Suggestions.jsx # Component for user suggestions
β
βββ layout/ # Layout components
β βββ Footer.jsx
β βββ MainFeed.jsx # Main feed where user sees posts
β βββ Navbar.jsx # Navigation bar
β βββ Sidebars.jsx # Sidebar navigation
β
βββ lib/
β βββ firebase.js # Firebase configuration
β
βββ pages/ # Next.js pages (routes)
β βββ api/ # API routes (server-side logic)
β βββ _app.js # Custom App component (used to initialize pages)
β βββ _document.js # Custom Document component
β βββ explore.jsx # Explore page
β βββ forgotpassword.jsx
β βββ index.jsx # Home page (main feed)
β βββ login.jsx # Login page
β βββ messages.jsx # Messages page
β βββ profile.jsx # User profile page
β βββ reels.jsx # Reels page
β βββ signup.jsx # Signup page
β
βββ styles/
β βββ globals.css # Global CSS
βββ README.md # Project documentation
git clone https://github.com/talhashah-dev/instagram-clone.git
cd instagram-clone
Make sure you have Node.js and npm installed. Then run:
npm install
Start the development server:
npm run dev
Now, visit http://localhost:3000 to view your app in the browser.
- Home Page (Coming Soon)
- Profile Page (Logged-in user's profile)
- Explore Page (Explore new posts and users)
We are making this project open-source to allow contributors worldwide to help build and improve it.
- Fork the repository.
- Create a new branch (
git checkout -b feature/new-feature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/new-feature
). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.