Postly is a full-stack social media platform built with the MERN stack (MongoDB, Express.js, React, Node.js). Designed to deliver a seamless and interactive user experience, Postly enables users to create, share, and engage with content efficiently. This project serves as a practical exploration of modern web development, focusing on scalable architecture and user-centric features.
- Secure registration, login, and logout functionality.
- JWT-based authentication for enhanced data security.
- Create tweets with text and image support.
- Delete personal tweets with user-specific permissions.
- Real-time timeline updates for a dynamic experience.
- Like and bookmark tweets for personalized content curation.
- Commenting system to foster discussions.
- Restricted tweet deletion to post owners only.
- Follow and unfollow other users to customize your network.
- View followed users' tweets in a personalized timeline.
- Edit profile details to personalize your presence.
- Explore other users' profiles and their tweet history.
- Personalized timeline based on followed users.
- Responsive and intuitive UI for smooth navigation.
- Optimized for performance and scalability.
- Frontend: React, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT)
- Deployment: Render
Postly is deployed on Render for reliable performance and accessibility.
Live Project Link: [Insert Deployment Link Here]
To run Postly locally, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/postly.git cd postly
-
Install dependencies:
# Backend dependencies - cd backend - npm install # Frontend dependencies - cd ../frontend - npm install
-
Set up environment variables: Create a .env file in the server directory with the following:
- MONGO_URI=your_mongodb_connection_string - JWT_SECRET=your_jwt_secret_key
-
Run the application:
# Start the backend server - cd server - npm run dev # Start the frontend development server - cd ../client - npm start
-
Access Postly at http://localhost:3000.
Postly was developed to gain hands-on experience in:
- Full-stack development with the MERN stack.
- Implementing secure user authentication.
- Designing scalable and interactive web applications.
- Tackling real-world development challenges.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a feature branch (git checkout -b feature/your-feature).
- Commit your changes (git commit -m "Add your feature").
- Push to the branch (git push origin feature/your-feature).
- Open a pull request.
This project is licensed under the MIT License.