PenDrop is a a simple and responsive blogging platform where users can register, log in, create, edit, and delete blog posts. The platform is built with a modern JavaScript framework on the front end and a secure back end, providing a user-friendly experience.
- User authentication (register, login, logout)
- Create, read, update, and delete posts
- View user profiles
- Responsive design for mobile and desktop
- React
- Vite
- Axios for API calls
- Context API for state management
- Node.js
- Express.js
- MongoDB with Mongoose
- JSON Web Tokens for authentication
- Node.js (v14 or later)
- MongoDB
-
Clone the repository
git clone https://github.com/SxxAq/PenDrop.git cd pendrop
-
Install dependencies for both frontend and backend
cd frontend npm install cd ../backend npm install
-
Set up environment variables
- Create a
.env
file in the backend directory - Add the following variables:
PORT=5000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
- Create a
-
Start the backend server
npm start
-
In a new terminal, start the frontend development server
cd frontend npm run dev
-
Open your browser and navigate to
http://localhost:5173
This project is set up for deployment on Render. For detailed deployment instructions, please refer to the Deployment Guide.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.