Connectify is a full-featured social media web application built with Node.js and Express, using server-side rendering with EJS templates for a dynamic and responsive experience. Users can create profiles, share posts, follow others, and interact with content.
- User Authentication: Secure signup/login with sessions or JWT.
- Profile Management: Create/update profiles with profile picture uploads.
- Post Creation: Share text-based posts.
- Like & Comment: Engage with content.
- Follow System: Follow/unfollow users for a personalized feed.
- Personalized Feed: See recent posts from followed users.
- User Discovery: Explore and view other profiles.
- Server-Side Rendering: Fast initial page loads.
- Backend: Node.js, Express.js
- Frontend: EJS templates, CSS3, Vanilla JavaScript
- Database: MongoDB, Mongoose
- Authentication: JWT or Express Session, bcrypt.js
- Utilities: (Optional) Cloudinary for image storage
Prerequisites:
- Node.js and npm installed
- MongoDB running locally or a MongoDB Atlas connection string
# Clone the repository
git clone https://github.com/ritiku2004/Connectify.git
# Navigate to project folder
cd Connectify
# Install dependencies
npm install
# Create .env file and add credentials
MONGO_URL="your_mongodb_connection_string"
JWT_SECRET="your_secret_key"
CLOUDINARY_CLOUD_NAME="your_cloudinary_cloud_name"
CLOUDINARY_API_KEY="your_cloudinary_api_key"
CLOUDINARY_API_SECRET="your_cloudinary_api_secret"
# Start server
npm startThe app will be running at http://localhost:5000 (or specified port).
/controllers— Request/response handling logic./middleware— Auth checks, other middlewares./models— Mongoose schemas for User, Post, etc./public— Static assets./routes— URL endpoints mapping./utils— Helper functions./views— EJS template files.index.js— Main server entry point.
Ritik — ritiku2004