BlogMe is a feature-rich blogging platform built with React JS, Firebase, and Redux Toolkit. It allows users to create, edit, and delete blog posts, as well as view and comment on posts by other users.
- Introduction
- Features
- Technologies
- Requirements
- Installation
- Usage
- Project Structure
- Firebase Setup
- Contributing
- License
BlogMe is a web application that enables users to share their thoughts and ideas through blog posts. It leverages Firebase for backend services and Redux Toolkit for state management.
- User authentication with Firebase
- Create, edit, delete, and view blog posts
- Comment on posts
- Responsive design for mobile and desktop
- Real-time updates
- React JS
- Firebase (Firestore, Authentication)
- Redux Toolkit
- React Router
- Material-UI (optional for UI components)
Ensure you have the following installed:
- Node.js (v14 or later)
- npm or yarn
- Firebase CLI (for Firebase setup and deployment)
git clone https:/UTKARSHMOHAN2003/github.com//blogme.git
cd blogme
npm install
# or
yarn install
- Create a Firebase project in the Firebase Console.
- Add a web app to your Firebase project.
- Copy the Firebase config object and paste it into a new file called
firebaseConfig.js
in thesrc
directory.
// src/firebaseConfig.js
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_AUTH_DOMAIN",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_STORAGE_BUCKET",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID",
};
export default firebaseConfig;
- Enable Firestore and Authentication in the Firebase Console.
npm start
# or
yarn start
Open your browser and navigate to http://localhost:3000
.
blogme/
├── public/ # Public assets
├── src/ # Source files
│ ├── components/ # Reusable React components
│ ├── features/ # Redux Toolkit slices
│ ├── pages/ # React pages
│ ├── services/ # Firebase service functions
│ ├── firebaseConfig.js # Firebase configuration
│ ├── App.js # Main app component
│ ├── index.js # Entry point
│ └── store.js # Redux store configuration
├── .firebaserc # Firebase project configuration
├── firebase.json # Firebase configuration file
├── .gitignore # Git ignore file
├── package.json # Project dependencies
└── README.md # Project documentation
Create the following collections in Firestore:
users
: Stores user profiles.posts
: Stores blog posts.comments
: Stores comments on blog posts.
Enable Email/Password authentication in the Firebase Console.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.