Collect is a responsive and interactive web application built on the MERN stack that allows users to create accounts, post content with images, interact with comments, follow other users, and enjoy a seamless social experience.
- User Authentication: Sign up, log in, and manage profiles.
- Create Posts: Add posts with images, titles, and descriptions.
- Comment Section: Allow users to comment on posts and view user profiles by clicking on a comment.
- Follow/Unfollow Users: Interact with other users by following or unfollowing them.
- Responsive Design: Optimized for all devices using TailwindCSS.
- Live Interactivity: Powered by
react-hot-toast
for instant feedback.
- Node.js and npm installed
- MongoDB installed or access to MongoDB Atlas
$ git clone https://github.com/yourusername/collectify.git
$ cd collectify
- Navigate to the backend directory:
$ cd backend
- Install dependencies:
$ npm install
- Create a
.env
file:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
- Start the backend server:
$ npm run dev
- Navigate to the frontend directory:
$ cd frontend
- Install dependencies:
$ npm install
- Start the frontend server:
$ npm start
- Open the application in your browser:
http://localhost:3000
. - Create an account or log in.
- Create posts by adding an image, title, and description.
- Comment on posts and interact with other users.
- Explore user profiles and follow/unfollow users.
collectify/
|
|-- backend/
| |-- models/ # Mongoose schemas
| |-- routes/ # API routes
| |-- controllers/ # Business logic
| |-- middleware/ # Authentication & error handling
| |-- server.js # Express server setup
|
|-- frontend/
| |-- src/
| |-- components/ # Reusable components
| |-- pages/ # Application pages
| |-- hooks/ # Custom React hooks
| |-- App.js # Main app entry point
| |-- index.js # React DOM rendering
|
|-- README.md # Documentation
|-- package.json # Project metadata
- Fork the repository.
- Create your feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m 'Add feature-name'
- Push to the branch:
git push origin feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
Built with love by strange.