Skip to content

SohamxP/Study-Matcher

Repository files navigation

🎓 Study Matcher

A full-stack web application connecting university students with study partners based on shared courses.

Live Demo GitHub

🚀 Features

  • Secure Authentication: JWT-based login system with encrypted passwords
  • Course Management: Add and remove courses you need help with
  • Smart Matching: Find study partners taking the same courses
  • User Profiles: Manage your academic information
  • Search & Filter: Find students by name, major, or courses

🛠️ Tech Stack

Frontend:

  • React
  • Axios
  • Vite

Backend:

  • Node.js
  • Express
  • PostgreSQL
  • JWT (jsonwebtoken)
  • bcrypt

🌐 Live Deployment

Production App:

For Local Development: See installation instructions below ⬇️


📦 Installation

Prerequisites

  • Node.js (v14 or higher)
  • npm

Backend Setup

  1. Clone the repository
git clone https://github.com/SohamxP/study-matcher.git
cd study-matcher
  1. Install dependencies
npm install
  1. Start the backend server
node server.js

Backend runs on http://localhost:3000

Frontend Setup

  1. Navigate to frontend directory
cd frontend
  1. Install dependencies
npm install
  1. Start the development server
npm run dev

Frontend runs on http://localhost:5173

🎯 API Endpoints

Authentication

  • POST /api/users/register - Register new user
  • POST /api/users/login - User login

Users

  • GET /api/users - Get all users
  • GET /api/users/search - Search users with filters
  • PUT /api/users/:id - Update user (protected)
  • DELETE /api/users/:id - Delete user (protected)

Courses

  • POST /api/users/:id/courses - Add course (protected)
  • DELETE /api/users/:id/courses/:courseName - Remove course (protected)

Matching

  • GET /api/matches/:courseName - Find study partners by course

📸 Screenshots

Login & Registration

Login Page

User Dashboard

Dashboard

Find Study Partners

Study Partner Matches

🔒 Security Features

  • Passwords hashed with bcrypt (10 salt rounds)
  • JWT token-based authentication
  • Protected routes requiring valid tokens
  • Authorization checks (users can only modify their own data)
  • Input validation on all endpoints

🚧 Future Enhancements

  • Real-time chat between matched students
  • Email notifications for new matches
  • Calendar integration for study sessions
  • Mobile app version
  • User ratings and reviews

👨‍💻 Developer

Soham Panchal
Computer Science Student | University of Texas at Arlington

GitHub LinkedIn Email

📄 License

This project is open source and available under the MIT License.

About

Full-stack study partner matching platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published