Skip to content

Instaclone is a photo-sharing social platform inspired by Instagram. It allows users to share their favorite moments, follow others, and engage with content through likes and comments.

Notifications You must be signed in to change notification settings

bluediu/instaclone-frontend

Repository files navigation

Instaclone ๐Ÿ“ท

Instaclone is a photo-sharing social platform inspired by Instagram. It allows users to share their favorite moments, follow others, and engage with content through likes and comments. This project is built with React and demonstrates the implementation of key social media features.

Features

  • Photo Sharing: Users can upload and display their favorite images.
  • User Profiles: View personalized user profiles with photo grids.
  • Follow System: Follow other users to see their posts in your feed.
  • Likes and Comments: Interact with posts through likes and comments.
  • Search Functionality: Find users by their usernames or full names.

Technologies Used

  • Frontend: React with modern hooks and components.
  • Styling: SASS for styling with responsive design.
  • State Management: Context API for managing global state.
  • Backend API: Django Rest Framework (DRF) for handling user authentication and data.
  • Database: PostgreSQL for storing user data, posts, and interactions.
  • Image Hosting: Cloudinary for managing and hosting images.
  • Authentication: JWT-based authentication for secure login and session management.

Installation and Setup

  1. Clone the repository:

    git clone https://github.com/bluediu/instaclone-frontend.git
  2. Navigate to the project directory:

    cd instaclone
  3. Install dependencies:

    yarn install
  4. Start the development server:

    yarn dev
  5. Configure the backend API and database connection as per your requirements.

Project Structure

src/ โ”œโ”€โ”€ apps/ โ”‚ โ”œโ”€โ”€ Posts/ # Module for managing posts โ”‚ โ”œโ”€โ”€ UI/ # Shared user interface components โ”‚ โ”œโ”€โ”€ Users/ # Module for user management (authentication, profiles, etc.) โ”‚ โ”œโ”€โ”€ api/ # API services specific to users โ”‚ โ”œโ”€โ”€ components/ # Reusable components within the Users module โ”‚ โ”œโ”€โ”€ pages/ # Pages related to user functionalities (profiles, settings, etc.) โ”‚ โ”œโ”€โ”€ hooks/ # Custom hooks related to user logic โ”‚ โ”œโ”€โ”€ context/ # Context providers for user-related state โ”‚ โ”œโ”€โ”€ interfaces/ # TypeScript interfaces for user-related types โ”‚ โ”œโ”€โ”€ services/ # Business logic and services for users โ”œโ”€โ”€ constants/ # Application-wide constants โ”œโ”€โ”€ context/ # Global state management using React Context โ”œโ”€โ”€ hooks/ # Reusable custom hooks โ”œโ”€โ”€ interfaces/ # Global TypeScript interface definitions โ”œโ”€โ”€ layouts/ # Layout components like headers, footers, etc. โ”œโ”€โ”€ routes/ # Route definitions and navigation structure โ”œโ”€โ”€ sass/ # Global and modular SCSS styles โ”œโ”€โ”€ shared/ # Components shared across different modules โ”œโ”€โ”€ types/ # Global TypeScript type definitions โ”œโ”€โ”€ utils/ # Utility functions and helpers 

Backend project ๐Ÿ—๏ธ

https://github.com/bluediu/instaclone-backend

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute it.


About

Instaclone is a photo-sharing social platform inspired by Instagram. It allows users to share their favorite moments, follow others, and engage with content through likes and comments.

Topics

Resources

Stars

Watchers

Forks

Languages