A modern, responsive fullstack blog application where users can browse, create, and manage blog posts. Built with the MERN stack and featuring a clean, intuitive interface.
- 📖 Browse Posts - View all blog posts with pagination
- ✍️ Create & Edit & Delete - Write and edit blog posts with rich text
- 🗂️ Categories - Organize posts by Cinema, Design, Science, Technology
- 🔍 Search & Filter - Find posts by title, category, or content
- 📱 Responsive Design - Works seamlessly on desktop and mobile
- 🔒 Secure Backend - Environment variables for database credentials
- ⚡ Fast Performance - Optimized for speed and user experience
- React - Component-based UI library
- Axios - HTTP client for API calls
- SCSS - Modern styling and responsive design
- React Router - Client-side routing
- Node.js - JavaScript runtime
- Express.js - Web application framework
- MySQL - Relational database
- dotenv - Environment variable management
- Node.js (v14 or higher)
- npm or yarn
- MySQL database
-
Clone the repository
git clone https://github.com/ChakerChourouk/Fullstack-Blog-App.git cd Fullstack-Blog-App -
Set up the Backend
cd api npm install -
Configure Environment Variables
Create a
.envfile in the/apidirectory:DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=blog PORT=8800
-
Set up the Database
CREATE DATABASE blog; -- Import your SQL schema here
-
Start the Backend Server
npm start
-
Set up the Frontend
cd ../client npm install npm start
- Frontend: http://localhost:3000
- Backend API: http://localhost:8800
Fullstack-Blog-App/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── ...
│ └── package.json
├── api/ # Express backend
│ ├── routes/
│ ├── models/
│ ├── .env.example
│ └── package.json
├── README.md
└── .gitignore
npm start- Start the production servernpm run dev- Start development server with nodemon
npm start- Start development servernpm run build- Build for productionnpm test- Run tests
- Create new blog posts with rich text editor
- Edit existing posts seamlessly
- Delete posts
- Cinema - Movie reviews and film discussions
- Design - UI/UX insights and design trends
- Science - Latest scientific discoveries
- Technology - Tech tutorials and industry news
- Environment variables for sensitive data
- Input validation and sanitization
- Secure database connections
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Chaker Chourouk
- GitHub: @ChakerChourouk
- LinkedIn: Your LinkedIn Profile
If you have any questions or need help with setup, please open an issue or reach out!
⭐ If you found this project helpful, please give it a star! ⭐