Skip to content

Ahmad-shopify-dev/firebase-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 FirebaseFlow - Learning Project

A premium, modern web application designed to master the integration of React with Firebase (Auth & Firestore). This project focuses on high-end UI design, real-time data synchronization, and secure authentication workflows.

🚀 Project Overview

FirebaseFlow is a CRUD-based application that allows users to create, read, update, and delete posts while managing their identity through Firebase Authentication. The application features a stunning "Midnight Slate" theme with glassmorphism effects and a robust CSS design system.

✨ Key Features

  • Real-time Firestore CRUD: Seamlessly manage posts with live updates using Firestore snapshots.
  • Secure Authentication: Full login and signup workflow using Firebase Authentication.
  • Global Session Management: React Context API used to track and provide user state across the entire app.
  • Premium Design System: Custom-built CSS architecture featuring:
    • Dark mode by default (Midnight Slate palette).
    • Modern typography (Outfit & Inter).
    • Responsive glassmorphism cards and navigation.
    • Interactive auth modals with Google login support.

🛠️ Tech Stack

📋 Project Workflow

  1. Architecture Setup: Initialized a Vite project with a modular folder structure for components, firebase configuration, and context.
  2. Design System: Developed a comprehensive index.css with a central variable-based design system for consistent UI.
  3. Firebase Integration:
    • Configured Firebase initialization in config.js.
    • Set up Firestore collections and Auth instances.
  4. Component Development:
    • NavBar.jsx: Built a sticky navigation bar with integrated auth modals.
    • Posts.jsx: Developed a centered post editor and real-time activity feed.
  5. Context Logic: Implemented UserContext.jsx to handle onAuthStateChanged and provide global access to the current user session.

🚦 How to Use

1. Prerequisites

  • Node.js installed on your machine.
  • A Firebase project created in the Firebase Console.

2. Setup

Clone the repository and install dependencies:

git clone <your-repo-url>
cd Firebase-Learning
npm install

3. Environment Variables

Create a .env file in the root directory and add your Firebase credentials:

VITE_API_KEY=your_api_key
VITE_AUTH_DOMAIN=your_auth_domain
VITE_PROJECT_ID=your_project_id
VITE_STORAGE_BUCKET=your_storage_bucket
VITE_MESSAGE_SENDER_ID=your_sender_id
VITE_APP_ID=your_app_id

4. Run Locally

Start the development server:

npm run dev

📜 License

This project is released under a Free License for Learning Purposes. You are free to use, modify, and distribute this code for educational and personal growth.

👤 Author

Stackwise Dev
Building modern, scalable, and beautiful web experiences.


Created as part of the Firebase Learning Journey.

About

A premium, modern web application designed to master the integration of React with Firebase (Auth & Firestore). This project focuses on high-end UI design, real-time data synchronization, and secure authentication workflows.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors