https://github.com/luan-neumann-dev/miniblog
MiniBlog allows users to post and view content, with an integrated search feature to easily locate posts. Firebase is used as the database to manage posts and authentication effectively.
https://github.com/luan-neumann-dev/miniblog
authentication firebase javascript node react
Last synced: about 2 months ago
JSON representation
MiniBlog allows users to post and view content, with an integrated search feature to easily locate posts. Firebase is used as the database to manage posts and authentication effectively.
- Host: GitHub
- URL: https://github.com/luan-neumann-dev/miniblog
- Owner: Luan-Neumann-Dev
- Created: 2024-06-25T01:10:06.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-07T22:35:43.000Z (almost 2 years ago)
- Last Synced: 2025-02-21T15:27:05.383Z (over 1 year ago)
- Topics: authentication, firebase, javascript, node, react
- Language: JavaScript
- Homepage:
- Size: 236 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MiniBlog - React & Firebase
> A full-stack blog application built with React and Firebase, featuring authentication and real-time post management
[](https://react.dev/)
[](https://vitejs.dev/)
[](https://firebase.google.com/)



## π― About
MiniBlog is a full-stack web application that allows users to create, edit, and manage blog posts with authentication.
The project was built using React for the frontend and Firebase for backend services such as authentication and database. It focuses on modern frontend architecture, reusable hooks, and real-time data handling.
## β¨ Key Features
- π **Authentication System** - User registration and login using Firebase Auth
- π **Post Management** - Create, edit, and delete blog posts
- π **User Dashboard** - Manage your own posts
- π **Search Functionality** - Filter posts by keywords
- β‘ **Real-time Database** - Data stored and fetched from Firestore
- π§© **Custom Hooks** - Reusable logic for CRUD operations
## π οΈ Tech Stack
**Frontend:**
- React - UI library
- Vite - Build tool
- CSS Modules - Scoped styling
**Backend (BaaS):**
- Firebase Authentication - User management
- Firestore - NoSQL database
**Architecture:**
- Context API - Global state management (Auth)
- Custom Hooks - Data handling abstraction
## π Quick Start
```bash
# Clone the repository
git clone https://github.com/yourusername/miniblog.git
# Navigate to project
cd miniblog
# Install dependencies
npm install
# Run the project
npm run dev
```
Access:
```
http://localhost:5173
```
## π Project Structure
```
src/
βββ components/ # Reusable components (Navbar, Footer, etc.)
βββ pages/ # Application pages
βββ hooks/ # Custom hooks (CRUD operations)
βββ context/ # Auth context
βββ firebase/ # Firebase configuration
βββ assets/ # Static assets
βββ App.jsx # Main component
βββ main.jsx # Entry point
```
## π‘ Technical Highlights
### Custom Hooks for CRUD
The project abstracts Firestore operations into reusable hooks:
```javascript
const { insertDocument } = useInsertDocument("posts");
```
### Authentication with Context API
Global authentication state managed via context:
- User session control
- Protected routes behavior
- Centralized auth logic
## π What I Learned
**Technical Skills:**
- Building SPAs with React and Vite
- Integrating Firebase (Auth + Firestore)
- Creating reusable custom hooks
- Managing global state with Context API
**Best Practices:**
- Separation of concerns
- Component-based architecture
- Hook-based logic reuse
## πΊοΈ Roadmap
- [ ] Add likes/reactions to posts
- [ ] Add comments system
- [ ] Improve UI/UX
- [ ]Add pagination
- [ ] Deploy (Firebase Hosting / Vercel)
## π Notes
- This is a learning project focused on modern React development
- Uses Firebase as a backend service (BaaS)
- Easily extendable into a full production blog
## π License
MIT License
## π€ Author
**Luan Henrique Neumann**
- LinkedIn: [LuanNeumannDev](https://www.linkedin.com/in/luan-henrique-neumann-dev/)
- GitHub: [@Luan-Neumann-Dev](https://github.com/Luan-Neumann-Dev)
- Email: luan.neumann.dev@gmail.com
---
β Found this helpful? Give it a star!