Skip to content

Latest commit

Β 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

StoryVerse - Share Your Stories

A modern, full-featured blogging platform built with the MERN stack (MongoDB, Express.js, React.js, Node.js). Features a beautiful UI with a responsive design, rich text editing, image uploads, user authentication, and more.

πŸ“Έ Project Showcase

Experience our blog platform in both light and dark themes:

Light & Dark Theme Support

Login Page - Light Theme

Login Page - Light Theme

Login Page - Dark Theme

Login Page - Dark Theme

User Registration

Register Page - Light Theme

Registration Page - Light Theme

Register Page - Dark Theme

Registration Page - Dark Theme

Blog Feed & Story Cards

Home Page - Light Theme

Blog Feed - Light Theme

Home Page - Dark Theme

Blog Feed - Dark Theme

Rich Text Editor

Editor - Light Theme

Rich Text Editor - Light Theme

Editor - Dark Theme

Rich Text Editor - Dark Theme

User Profiles

Profile - Light Theme

User Profile - Light Theme

Profile - Dark Theme

User Profile - Dark Theme

Responsive Design

Mobile View - Light

Mobile - Light

Mobile View - Dark

Mobile - Dark

Tablet View - Light

Tablet - Light

Tablet View - Dark

Tablet - Dark

✨ Features

  • πŸ” User authentication (Register, Login, Reset Password)
  • πŸ“ Rich text editor for writing blog posts
  • πŸ“Έ Image upload support for blog posts and user profiles
  • πŸ’Ύ Draft system for saving unfinished posts
  • 🏷️ Tag system for categorizing posts
  • πŸ‘ Like and comment system
  • πŸ“š Reading list functionality
  • πŸŒ“ Light/Dark theme support
  • πŸ“± Fully responsive design
  • ✨ Modern UI with animations and transitions

πŸš€ Technologies Used

Backend

  • Node.js
  • Express.js
  • MongoDB with Mongoose
  • JWT for authentication
  • Multer for file uploads
  • Nodemailer for email functionality
  • Express Async Handler
  • CORS
  • Bcrypt for password hashing

Frontend

  • React.js
  • React Router v6
  • Axios for API calls
  • CKEditor 5 for rich text editing
  • React Icons
  • CSS3 with custom properties
  • Modern CSS features (Grid, Flexbox, Animations)

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB
  • Git

Backend Setup

  1. Clone the repository:

    git clone https://github.com/ironsupr/Blog-website
    cd mern-blog-v2-main
  2. Install backend dependencies:

    cd Backend
    npm install
  3. Create a config.env file in the Backend directory with the following variables:

    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET_KEY=your_jwt_secret
    JWT_EXPIRE=7d
    SMTP_HOST=your_smtp_host
    SMTP_PORT=your_smtp_port
    SMTP_USER=your_smtp_email
    SMTP_PASS=your_smtp_password
  4. Start the backend server:

    npm start

    The server will run on http://localhost:5000

Frontend Setup

  1. Open a new terminal and navigate to the Frontend directory:

    cd ../Frontend
  2. Install frontend dependencies:

    npm install
  3. Start the frontend development server:

    npm start

    The application will open in your default browser at http://localhost:3000

πŸ“ Project Structure

.
β”œβ”€β”€ Backend/        # Server-side code
β”œβ”€β”€ Frontend/       # Client-side code
β”œβ”€β”€ screenshots/    # Project screenshots and demos
└── docs/          # Documentation files

Backend Structure

Backend/
β”œβ”€β”€ Controllers/     # Request handlers
β”œβ”€β”€ Helpers/        # Utility functions
β”œβ”€β”€ Middlewares/    # Custom middleware
β”œβ”€β”€ Models/         # Database models
β”œβ”€β”€ Routers/        # API routes
└── public/         # Static files (images)

Frontend Structure

Frontend/
β”œβ”€β”€ public/         # Static assets
└── src/
    β”œβ”€β”€ components/ # React components
    β”œβ”€β”€ Context/    # React context
    └── Css/        # Stylesheets

🌟 Key Features Explained

Authentication

  • JWT-based authentication
  • Password reset via email
  • Protected routes
  • Persistent login state

Blog Posts

  • Create, edit, and delete posts
  • Rich text editor with image support
  • Draft system for works in progress
  • Tag system for categorization
  • Like and comment functionality

User Features

  • Customizable user profiles
  • Reading list for saved articles
  • Comment on posts
  • Like posts
  • Follow other users

UI/UX

  • Responsive design for all devices
  • Modern animations and transitions
  • Light/Dark theme support
  • Loading states and error handling
  • Intuitive navigation

πŸ”’ Security Features

  • Password hashing with bcrypt
  • JWT token authentication
  • Protected API routes
  • Secure file upload handling
  • CORS configuration
  • Input validation and sanitization

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“ License

This project is licensed under the ISC License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Gilbert Hutapea - GitHub Profile

πŸ’¬ Support

For support, email your-email@example.com or create an issue in this repository.


Made with ❀️ using the MERN Stack

About

No description, website, or topics provided.

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages