Narrativ is a modern blogging platform designed for writers and readers to create, share, and engage with content. Built with MERN stack (MongoDB, Express.js, React.js, Node.js) and Clerk authentication, it offers a seamless experience for users to publish and explore blog posts.
✅ User Authentication - Secure login/signup using Clerk authentication.
✅ Create & Manage Blogs - Users can write, edit, and delete blog posts.
✅ Rich Text Editor - Intuitive editor for formatted content.
✅ Like & Comment - Engage with posts by liking and commenting.
✅ Responsive UI - Built with Next.js & Tailwind CSS for a smooth user experience.
✅ SEO Optimized - Blog posts are optimized for search engines.
- Frontend: React.js (Next.js), Tailwind CSS, ShadCN UI
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose ORM
- Authentication: Clerk
- Deployment: Vercel (Frontend), Railway (Backend)
-
Clone the repository:
git clone https://github.com/ADX119/Narrativ.git cd Narrativ -
Install dependencies:
npm install
-
Setup environment variables:
Create a.envfile in the root and add:MONGO_URI=your_mongodb_uri CLERK_SECRET_KEY=your_clerk_secret NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
-
Start the development server:
npm run dev
-
Access the app:
Open http://localhost:3000 in your browser.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/posts | Get all blog posts |
| POST | /api/posts | Create a new blog post |
| GET | /api/posts/:id | Get a specific post |
| PUT | /api/posts/:id | Update a blog post |
| DELETE | /api/posts/:id | Delete a blog post |