A fullstack modern blog site.
- React: Fast and dynamic UI rendering.
- Redux Toolkit: Simplified state management.
- Redux Query: Efficient data fetching and caching.
- Tailwind CSS: Utility-first CSS framework for styling.
- QuillJS Editor: Rich text editor for creating and editing blog posts.
- Vite: Blazing-fast frontend build tool.
- Express.js: Lightweight and flexible server framework.
- MongoDB: NoSQL database for storing user data and blog content.
- Google Authentication: Secure Google login.
- Blog Management: Create, read, update, and delete (CRUD) operations for blogs.
- Responsive Design: Optimized for all devices.
- Error Handling: Robust error messages for both frontend and backend.
- Node.js (v14 or higher)
- MongoDB
- Git
git clone https://github.com/sabb002/ballpen.git
cd ballpen- Navigate to the server folder:
cd server - Install dependencies:
npm install
- Create a
.envfile in theserverfolder with the following content:PORT=8080 DBUSER= DBPASS=
- Start the backend server:
npm run dev
- Navigate to the client folder:
cd ../client - Install dependencies:
npm install
- Start the frontend development server:
npm start
- Open your browser and navigate to
http://localhost:3000. - Interact with the platform to create, edit, and manage blog posts.
client/
├── public/
├── src/
│ ├── assets/
│ │ ├── fonts/
│ │ ├── icon/
│ │ ├── images/
│ ├── components/
│ │ ├── posts/
│ ├── customs/
│ ├── data/
│ ├── pages/
│ ├── store/
│ ├── utils/
│ ├── Layout.js
│ ├── main.js
│ ├── custom.d.ts
│ ├── globals.css
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.js
├── eslint.config.js
├── tailwind.config.js
├── tsconfig.json
├── tsconfig.app.json
├── tsconfig.node.json
├── vite.config.ts
server/
├── controllers/
├── db/
├── routes/
├── index.js
├── .env
├── package.json
├── package-lock.json
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-name). - Open a pull request.
This project is licensed under the MIT License.
For inquiries or support, contact:
- Your Name: sabbirhossainalvee@gmail.com
- GitHub: sabb002