Skip to content

siddshukla/BlogNovaSite

Repository files navigation

🚀 BlogNova

Node.js Express EJS Postman

A sleek, powerful blog management system that brings your ideas to life


📌 Overview

BlogNova isn't just another blog platform — it's your creative launchpad. Built with a robust Node.js/Express backend and elegant EJS templates, BlogNova gives content creators the perfect balance of power and simplicity.

📝 Create → 🔍 Discover → 💬 Engage → 🌟 Inspire

✨ Features

🔐 Secure Authentication User registration and login with multi-layer security
🛡️ Smart Authorization Granular permission controls for admins, editors, and readers
📝 Rich Content Management Create stunning blog posts with markdown support
💬 Interactive Comments Foster community engagement through threaded discussions
📱 Responsive Design Beautiful experience across all devices
🔌 REST API Seamless integration with frontend applications

🛠️ Tech Symphony

Backend Frontend Data & Auth Tools
Node.js EJS Templates Your Database Postman
Express.js CSS Session Management Nodemon
RESTful API Responsive Design JWT Authentication Git

🚀 Quick Launch

Prerequisites

  • Node.js (v14.x or higher)
  • NPM (v6.x or higher)
  • Your database of choice

Installation

# Clone the cosmic repository
git clone https://github.com/yourusername/blognova.git

# Navigate to the project
cd blognova

# Install the stellar dependencies
npm install

# Create your universe (.env file)
echo "PORT=3000
DB_URI=your_database_connection_string
SESSION_SECRET=your_super_secret_key
NODE_ENV=development" > .env

# Launch the rocket 🚀
npm run dev

🌟 API Galaxy

🔐 Authentication Nebula

POST /api/auth/register  → Join the BlogNova universe
POST /api/auth/login     → Get your access key
GET  /api/auth/logout    → Take a break

📝 Content Creation Stars

GET    /api/posts        → Discover all posts
GET    /api/posts/:id    → Explore a specific post
POST   /api/posts        → Create a new masterpiece
PUT    /api/posts/:id    → Refine your creation
DELETE /api/posts/:id    → Remove what no longer serves

👤 User Constellation

GET  /api/users/profile  → View your cosmic profile
PUT  /api/users/profile  → Evolve your identity

📂 Project Architecture

blognova/
│
├── 🏁 app.js              # Your journey begins here
├── ⚙️ config/             # Universal constants
├── 🎮 controllers/        # Command center
├── 🛡️ middlewares/        # Guardians of the routes
├── 💾 models/             # Data structures
├── 🛣️ routes/             # Pathways
├── 👁️ views/              # Visual experiences
│   ├── partials/          # Reusable elements
│   ├── layouts/           # Design frameworks
│   └── pages/             # Unique destinations
├── 🌐 public/             # Shared treasures
│   ├── css/               # Visual magic
│   ├── js/                # Interactive spells
│   └── images/            # Visual stories
└── 🧪 tests/              # Quality assurance

🧙‍♂️ Postman Wizardry

  1. Import our enchanted collection: BlogNova.postman_collection.json
  2. Set your environment variables like a true wizard
  3. Explore the API universe with ease

🔮 Environment Secrets

Variable Description Example
PORT Your server's gateway 3000
DB_URI Path to your data realm mongodb://localhost:27017/blognova
SESSION_SECRET Your magical phrase superSecretSpell123
NODE_ENV Your dimension development

⚡ Spellbook (Scripts)

# Launch for the masses
npm start

# Develop with auto-refresh
npm run dev

# Verify everything works
npm test

# Keep your code elegant
npm run lint

🔒 Security Enchantments

BlogNova protects your realm with:

  • Password hashing with bcrypt
  • CSRF protection
  • HTTP security headers
  • Input validation
  • Rate limiting against dark forces

🤝 Join Our Guild

  1. Fork the repository (your own magic branch)
  2. Create your feature spell (git checkout -b feature/amazing-magic)
  3. Commit your enhancements (git commit -m 'Add some amazing magic')
  4. Share your creation (git push origin feature/amazing-magic)
  5. Open a scroll (Pull Request) for review

✨ "Bring your stories to life with BlogNova" ✨

GitHubIssuesDocumentation

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published