Skip to content

nikhilrawal/pinstagram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pinstagram App

This project is an Instagram-like social media application built using Flutter. It features a highly appealing UI with various screens and functionalities. The app integrates with Firebase for backend services, including authentication and data fetching. It maintains state using the Provider pattern and follows a clean Flutter architecture.

Features

  • Appealing UI: The app has a visually appealing user interface with smooth animations and transitions.
  • Multiple Screens: The app includes various screens such as Home, Profile, Post, Authentication, and more.
  • Authentication: Users can sign up, sign in, and manage their profiles using Firebase Authentication.
  • State Management: The app uses the Provider pattern for state management, ensuring a predictable and maintainable state.
  • Firebase Integration: The app fetches data from Firebase Firestore and uses Firebase Storage for storing media files.
  • Clean Architecture: The project follows a clean architecture, making it easy to scale and maintain.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 2 Screenshot 2 Screenshot 2 Screenshot 2 Screenshot 2

Video Demonstration

Watch the video demonstration of the app to see it in action: Pinstagram Video Demonstration

Workflow

  1. User Authentication:

    • Users can sign up or log in using their email and password.
    • Firebase Authentication handles the authentication process.
  2. Home Screen:

    • Displays a list of posts from users.
    • Users can like, comment, and share posts.
  3. Search Functionality:

    • Users can search for profiles and posts.
    • The search results are fetched from Firebase Firestore.
  4. Post Creation:

    • Users can create new posts with images and captions.
    • Posts are stored in Firebase Firestore and images in Firebase Storage.
  5. Profile Management:

    • Users can view and edit their profile information.
    • Profile data is stored and retrieved from Firebase Firestore.
  6. State Management:

    • The app uses the Provider pattern to manage the state of the application.
    • Ensures a predictable and maintainable state throughout the app.
  7. Data Fetching:

    • The app fetches data from Firebase Firestore for posts and user information.
    • Firebase Storage is used for storing and retrieving media files.
  8. Clean Architecture:

    • The project follows a clean architecture, separating the UI, business logic, and data layers.
    • Makes the codebase easy to maintain and scale.

Would you like to proceed with the technologies used section next?## Workflow

  1. User Authentication:

    • Users can sign up or log in using their email and password.
    • Firebase Authentication handles the authentication process.
  2. Home Screen:

    • Displays a list of posts from users.
    • Users can like, comment, and share posts.
  3. Search Functionality:

    • Users can search for profiles and posts.
    • The search results are fetched from Firebase Firestore.
  4. Post Creation:

    • Users can create new posts with images and captions.
    • Posts are stored in Firebase Firestore and images in Firebase Storage.
  5. Profile Management:

    • Users can view and edit their profile information.
    • Profile data is stored and retrieved from Firebase Firestore.
  6. State Management:

    • The app uses the Provider pattern to manage the state of the application.
    • Ensures a predictable and maintainable state throughout the app.
  7. Data Fetching:

    • The app fetches data from Firebase Firestore for posts and user information.
    • Firebase Storage is used for storing and retrieving media files.
  8. Clean Architecture:

    • The project follows a clean architecture, separating the UI, business logic, and data layers.
    • Makes the codebase easy to maintain and scale.

Technologies Used

  • Flutter: The framework used for building the app.
  • Dart: The programming language used with Flutter.
  • Firebase Authentication: For user authentication.
  • Firebase Firestore: For storing and retrieving data.
  • Firebase Storage: For storing media files.
  • Provider: For state management and dependency injection.
  • HTTP: For making network requests.
  • Equatable: For value equality in Dart objects.
  • Flutter Widgets: For building the UI components.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published