Ananya-m0140/Software

โ˜… 0Forks 0JavaScriptGitHub โ†—Compare

README

Social Connect for IITians

A full-featured social media platform designed to enhance academic collaboration and opportunity sharing among IIT students, professors, and alumni. This project was developed as part of an academic course under the mentorship of Prof. Debasish Samanta.

๐Ÿš€ Features

  • ๐Ÿ—ฃ๏ธ Social Feed โ€“ Share achievements, post doubts, and engage with peers.
  • ๐ŸŽ“ Internship & Hackathon Portals โ€“ Professors and alumni can post opportunities; students can apply and track applications.
  • ๐Ÿ’ฌ Real-Time Chat โ€“ One-to-one messaging with instant updates using Socket.io.
  • ๐Ÿ‘ค Profile Management โ€“ Users can showcase academic status, projects, internships, and hackathon participation.
  • ๐Ÿ” Authentication โ€“ Secure sign-in using email-based login and JWT tokens.
  • ๐Ÿ” Smart Search โ€“ Efficient content and user discovery via keyword-based filters.
  • ๐Ÿ“ Media Uploads โ€“ Supports image and document uploads with Multer and Cloudinary integration.
  • ๐Ÿงช Testing โ€“ Robust backend testing using Jest.
  • โš™๏ธ CI/CD Pipeline โ€“ Continuous integration and deployment via GitHub Actions.

๐Ÿ› ๏ธ Tech Stack

  • Frontend: React.js, DaisyUI, TailwindCSS
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Authentication: JWT (JSON Web Tokens)
  • Real-Time Communication: Socket.io
  • File Uploads: Multer, Cloudinary
  • Testing: Jest
  • Deployment: GitHub Actions (CI/CD), Docker (optional)

๐Ÿ“ Folder Structure (simplified)

.
โ”œโ”€โ”€ frontend/                 # React frontend
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”œโ”€โ”€ styles/
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ backend/                 # Express backend
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ tests/                 # Jest test cases
โ”œโ”€โ”€ .github/workflows/     # GitHub Actions for CI/CD
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ README.md

๐Ÿ“ฆ Installation

# Clone the repo
git clone https://github.com/your-username/social-connect.git
cd social-connect

# Install backend dependencies
cd server
npm install

# Install frontend dependencies
cd ../client
npm install

โš™๏ธ Usage

# Run backend
cd server
npm start

# Run frontend
cd ../client
npm start

โœ… Running Tests

cd server
npm test

๐Ÿšข Deployment

This project is CI/CD enabled via GitHub Actions. Any push to the main branch triggers the pipeline to build, test, and deploy the application.

๐Ÿง  Learnings & Takeaways

  • Designed and implemented a full-stack application with real-time features and media handling.
  • Applied best practices in authentication, testing, and deployment automation.
  • Gained hands-on experience with advanced search techniques and MongoDB schema design.

๐Ÿ“š Course Info

Course: Software Engineering Instructor: Prof. Debasish Samanta Institute: IIT Kharagpur Term: Spring 2025

Contributors

Ananya-m0140

Issues