π NIVOX - A Quantum-Inspired Personal Blog Platform βοΈ
πNIVOX is a cutting-edge, full-stack personal blog platform crafted with the MERN Stack (MongoDB, Express.js, React via Next.js, Node.js). It empowers creators to weave their stories through seamless CRUD operationsβcreate, read, update, and delete blog postsβwithin a futuristic, quantum-inspired realm. π Fueled by secure JWT authentication, π optimized with Next.js server-side rendering (SSR) for blazing performance, and π¨ adorned with a sleek aesthetic powered by Tailwind CSS and custom quantum animations (like latticeDrift and depthGlow), NIVOX is where advanced technology meets boundless creative expression. Step into a blogging experience that feels like traversing the cosmos! π
Frontend:
- Next.js (App Router for navigation, SSR, and static site generation)
- Tailwind CSS (Utility-first styling with custom colors: depth-black, lumen-white, lumen-cyan, lumen-magenta)
- React Hook Form & Zod (Form handling and validation for blog posts)
- Tanstack Query (Data fetching and state management for blog CRUD)
- Lottie-web (For animated buttons and icons)
- Custom Animations (Quantum-inspired effects like fluxPulse, orbit, quantumPulse)
Backend:
- Node.js & Express.js (For handling API routes)
- JWT (For authentication)
- MongoDB & Mongoose (For database management)
- Redis (For caching and performance optimization)
Development & Deployment:
- Webpack Dev Server (Live reloading via Next.js)
- Babel (Modern JavaScript support via Next.js)
- Git & GitHub (Version control)
- Vercel (Optional deployment platform for Next.js)
- Render (Deployment platform for backend)
π‘ Features
- β
User Authentication: Secure login/register with JWT.
- β
CRUD Operations: Create, edit, delete, and view blog posts.
- β
Quantum-Inspired Design: Infinite-depth lattice backgrounds, glowing effects, and orbiting particles in the navbar.
- β
Copy/Paste Restrictions: Disabled globally except on create/edit pages to protect content.
- β
Server-Side Rendering: Optimized performance with Next.js SSR.
- β
Responsive Design: Mobile-friendly layout with Tailwind CSS.
- β
Dynamic Animations: Custom effects like latticeDrift, depthGlow, and paneRise for a futuristic UI.
- β
Error Handling: Robust form validation and user feedback.
- β
MongoDB for scalable database storage
- β
Redis for caching and performance boost
π Security
- β
JWT Authentication: Secure user sessions with JSON Web Tokens.
- β
Rate Limiting: Protects against abuse with express-rate-limit (100 requests per 15 minutes per IP).
- β
Data Sanitization: Uses express-mongo-sanitize and xss-clean to prevent injection attacks.
- β
Helmet: Adds security headers to protect against common vulnerabilities.
- β
Copy/Paste Protection: Disabled globally (except on create/edit pages) to safeguard content.
π Demo
Experience NIVOX live! Visit the deployed application at:
- NIVOX
Explore the quantum-inspired design, create your own blog posts, and test the CRUD functionality firsthand.
πΈ Screenshots
- Logo:

- Homepage:

- All Blogs:

- Create Post:

π Project Setup & Installation
Prerequisites:
- Node.js (v16+ recommended)
- MongoDB (Local instance or MongoDB Atlas)
- Git (For cloning the repository)
- npm or yarn (Package manager)
Backend Setup:
1οΈβ£ Clone the repository:
git clone https://github.com/sureshbarach2001/NIVOX-Personal-Blog-Platform.git
cd NIVOX-Personal-Blog-Platform
cd backend
2οΈβ£ Install dependencies:
npm install
3οΈβ£ Set up environment variables:
Create a .env file in the backend directory and add:
PORT=5000
ACCESS_TOKEN_SECRET=your-access-secret
REFRESH_TOKEN_SECRET=your-refresh-secret
MONGO_URI=your-mongo-uri
REDIS_URL=your-redis-url
- Replace your-access-secret and your-refresh-secret with secure random strings (e.g., generate with openssl rand -hex 32).
- Replace your-mongo-uri with your MongoDB connection string (e.g., mongodb://localhost:27017/nivox or a MongoDB Atlas URI).
- Replace your-redis-url with your Redis connection string (e.g., redis://localhost:6379 or a Redis Cloud URI).
4οΈβ£ Start the Back-end server:
npm start
Frontend Setup
1οΈβ£ Navigate to Frontend:
cd NIVOX-Personal-Blog-Platform
cd frontend
2οΈβ£ Install dependencies:
npm install
- Create or update frontend/next.config.js to allow the external logo:
/** @type {import('next').NextConfig} */
const nextConfig = {
images: {
domains: ["assets.grok.com", "github.com"],
},
async headers() {
return [
{
source: "/(.*)",
headers: [
{
key: "Permissions-Policy",
value: "geolocation=(), microphone=(), camera=()",
},
],
},
];
},
};
module.exports = nextConfig;
3οΈβ£ Start the development server:
npm run dev
π Access the application:
π Deployment
Backend Deployment (Render):
Push to GitHub: Ensure your backend code is in a GitHub repository.
Connect to Render:
- Create a new Web Service on Render.
- Link your GitHub repository.
- Set the build command to npm install and start command to npm start.
- Add environment variables (e.g., PORT, MONGO_URI, ACCESS_TOKEN_SECRET) in Render's dashboard.
Deploy: Render will build and deploy your backend (e.g., https://nivox-personal-blog-platform-backend.onrender.com).
Frontend Deployment (Vercel):
Push to GitHub: Ensure your frontend code is in the same or a separate GitHub repository.
Connect to Vercel:
Deploy: Vercel will deploy your frontend (e.g., https://nivox.vercel.app).
π API Endpoints
Blogs:
- GET /api/blogs: Fetch all blog posts.
- GET /api/blogs/:id: Fetch a single blog post.
- POST /api/blogs: Create a blog post (JWT required).
- PUT /api/blogs/:id: Update a blog post (JWT required).
- DELETE /api/blogs/:id: Delete a blog post (JWT required).
Authentication:
- POST /api/auth/register: Register a new user.
- POST /api/auth/login: Login and receive JWT tokens.
π Project Status
- Current Status: Beta (Actively maintained and developed).
- Version: 1.0.0
- Last Updated: March 16, 2025
- Release: v1.0.0
β οΈ Known Issues
- CORS Issues in Production: Due to Render's proxy behavior, you might encounter CORS errors when fetching blog data. Ensure the backend's CORS configuration includes the frontend origin (https://nivox.vercel.app) and that Render isn't stripping headers. See this section for deployment details.
- Browser Compatibility: Some quantum-inspired animations (e.g., latticeDrift) may not render smoothly on older browsers like IE11. Recommended browsers: Chrome, Firefox, Edge (latest versions).
- Redis Caching: Currently implemented for basic performance boosts; further optimization is planned (see Future Enhancements).
π οΈ Contributing
Fork the Repository: Click the "Fork" button on GitHub.
Clone Your Fork:
git clone https://github.com/sureshbarach2001/NIVOX-Personal-Blog-Platform.git
Create a Branch:
git checkout -b feature/your-feature-name
Make Changes: Implement your feature or bug fix.
Commit and Push:
git add .
git commit -m "Add your feature description"
git push origin feature/your-feature-name
Open a Pull Request: Go to the original repository and create a pull request with a detailed description of your changes.
Please ensure your code follows the project's coding style and includes appropriate tests if applicable.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
- Next.js Documentation: For SSR and App Router guidance.
- Tailwind CSS: For rapid, beautiful styling.
- MongoDB & Mongoose: For robust database support.
- Render & Vercel: For seamless deployment.
#mern #nextjs #express #nodejs #mongodb #fullstack #blog #webdev #jwt #tailwindcss #react #quantumdesign #nivox
π¨ Design Highlights
- Navbar: Features orbiting particles that follow mouse movement, with glowing lumen-cyan accents.
- Background: Infinite-depth lattice animation with lumen-white particles pulsing across a depth-black canvas.
- Forms: Glowing edges and subtle animations (paneRise, depthEdge) for a futuristic feel.
- Security: Copy/paste and right-click disabled outside create/edit pages to protect content.
π§ Future Enhancements
- Caching Optimization: Expand Redis usage for additional performance boosts.
- User Notifications: Integrate React Hot Toast for real-time feedback.
- Rich Text Editor: Upgrade the blog content field with a WYSIWYG editor (e.g., TinyMCE or Quill).
- Dark/Light Mode: Add theme toggling for user preference.
- Analytics: Implement basic usage tracking with a service like Matomo.
- Multi-Language Support: Enable internationalization (i18n) for broader reach.