Markd is a content platform that enables users to share their expertise through beautifully crafted articles. Built with modern web technologies, it offers a seamless writing and reading experience with features like real-time article updates, user authentication, and social interactions.
-
Secure Authentication System
- JWT-based authentication
- Protected routes
- Secure password hashing
- Session management
-
Article Management
- Create/Edit/Delete articles
- Upvoting system
- Search functionality based on titles (Will be updated to include tags and content)
-
User Features
- Custom profiles
- Article portfolios
- Bio management
-
Modern UI/UX
- Responsive design
- Intuitive navigation
- Loading states
- React - UI library
- React Router - Navigation
- Tailwind CSS - Styling
- Vite - Build tool
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- JWT - Authentication
- bcrypt - Password hashing
{
"node": ">=14.x",
"npm": ">=6.x",
"mongodb": ">=4.x" // can be local or cloud-based.
}
- Clone and Install
# Clone the repository
git clone https://github.com/harshpreet931/markd.git
# Install dependencies
cd markd
npm install
- Environment Setup
# Backend (.env)
PORT=8081
DB_CONNECTION_STRING=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
# Frontend (.env)
VITE_API_URL=http://localhost:8081
- Development
# Terminal 1 - Backend
cd backend
node index.js
# Terminal 2 - Frontend
cd frontend
npm run dev
Visit http://localhost:5173
to see the app in action.
markd/
├── backend/ # Backend source code
│ ├── middleware/ # Authentication middleware
│ ├── models/ # Database models
│ └── routes/ # API routes
└── frontend/ # Frontend source code
├── public/ # Static assets
└── src/
├── components/ # Reusable components
├── pages/ # Page components
└── routes/ # Route definitions
-
Authentication
- User registration with email verification
- JWT-based authentication
- Protected route handling
-
Content Management
- Article creation
- Image upload and management
- Search Functionality based on Titles (Will be updated to include tags and content)
-
User Interactions
- Article upvoting system