StudyBuddy

UCLA Study Networking Platform with Secure Chat

Technologies Used

MongoDBExpressReactNode.jsWebSocketsBcryptGoogle OAuth
StudyBuddy main dashboard showing study groups and chat
StudyBuddy platform connecting UCLA students for academic collaboration

Project Overview

StudyBuddy is a secure study networking platform designed specifically for UCLA students, featuring encrypted real-time chat, study group formation, and Google OAuth authentication. Built as a team project with 4 UCLA students, the platform prioritizes security and user experience while providing seamless academic collaboration tools.

The platform addresses the challenge of finding reliable study partners at UCLA by creating a trusted community where only verified students can participate, ensuring academic integrity and safety.

Key Features

Secure Authentication: Google OAuth 2.0 for verified UCLA students only
Encrypted Chat System: Real-time messaging with end-to-end encryption
Study Group Formation: Intelligent matching based on courses and schedules
Mobile-Responsive: Seamless experience across all devices

Secure Authentication System

Google OAuth 2.0 Integration

The authentication system ensures that only verified UCLA students can access the platform, maintaining a trusted academic community. The login process is streamlined and secure, providing users with confidence in the platform's safety measures.

Security Features:

  • UCLA email domain verification (@g.ucla.edu)
  • Secure token management with automatic refresh
  • Session management and automatic logout
  • Protection against unauthorized access attempts
StudyBuddy secure login process with Google OAuth
GIF demonstrating the secure Google OAuth login flow for UCLA students

Real-Time Chat Functionality

Encrypted Messaging System

The chat system utilizes WebSockets for real-time communication and Bcrypt for message encryption, ensuring that student conversations remain private and secure. The interface is intuitive and responsive, supporting both one-on-one and group conversations.

Technical Implementation:

  • WebSocket connections for instant messaging
  • Message encryption using Bcrypt hashing
  • Persistent chat history in MongoDB
  • Real-time typing indicators and read receipts

User Experience:

  • Intuitive chat interface with emoji support
  • File sharing capabilities for study materials
  • Notification system for new messages
  • Mobile-optimized chat experience
StudyBuddy real-time chat interface in action
GIF showing the real-time chat functionality with groupchat and DM functionality

Study Group Formation

Intelligent Matching System

The platform features a sophisticated matching algorithm that connects students based on shared courses, compatible schedules, and academic interests. This ensures that study groups are both productive and convenient for all participants.

Matching Criteria:

  • Course enrollment verification
  • Schedule compatibility analysis
  • Academic performance alignment
  • Study preference matching (library, online, etc.)

Technical Architecture

MERN Stack Implementation

StudyBuddy leverages the full MERN stack (MongoDB, Express, React, Node.js) to deliver a robust, scalable platform. Each component is optimized for performance and security.

Backend Architecture:

  • Node.js & Express: RESTful API with authentication middleware
  • MongoDB: Flexible document storage for user profiles and messages
  • WebSockets: Real-time communication infrastructure
  • Bcrypt: Password hashing and message encryption

Frontend Implementation:

  • React: Component-based UI with state management
  • Responsive Design: Mobile-first approach with CSS Grid
  • Real-time Updates: WebSocket integration for live chat
  • OAuth Integration: Seamless Google authentication flow

Team Collaboration & Results

Project Success Metrics

4
Team Members
8 weeks
Development Time
A+
Final Grade
100%
Feature Completion

Collaborative Development Process

Working with a team of 4 UCLA students, we successfully delivered a full-stack solution from concept to deployment. The project demonstrated effective teamwork, version control practices, and coordinated development across frontend and backend components.

Team Responsibilities:

  • Frontend React development and UI/UX design
  • Backend API development and database design
  • Authentication system implementation
  • Real-time chat infrastructure

Development Practices:

  • Git version control with feature branching
  • Code reviews and pair programming sessions
  • Agile development with weekly sprints
  • Comprehensive testing and debugging

Learning Outcomes

Technical Skills

  • Full-Stack Development: End-to-end MERN stack implementation
  • Real-Time Systems: WebSocket integration for live chat
  • Security Implementation: OAuth and encryption best practices
  • Database Design: NoSQL schema design and optimization

Professional Development

  • Team Collaboration: Effective communication in development teams
  • Project Management: Agile methodologies and sprint planning
  • Code Quality: Version control and code review processes
  • User-Centered Design: Building features based on user needs

StudyBuddy successfully demonstrates the intersection of security, user experience, and real-time communication in modern web applications. The project showcased our ability to work effectively as a team while delivering a production-quality platform that addresses real student needs at UCLA.

David Kahdian

Builder. Problem solver.

Connect

© 2025 David Kahdian. Built with SvelteKit and Tailwind CSS.