Project Info
Inspiration
As students at UCSC, we often found it difficult to coordinate study groups, meet classmates in the same classes, or get timely academic help. We wanted to create a centralized tool that encourages collaboration, makes scheduling easier, and supports academic growth, all tailored to the student experience.
What it does
StudySlug helps UCSC students connect with peers in their classes, form study groups, and meet in real-time based on availability. Students can: Check in to campus locations to show when and where they're available. View a live map showing others who are free to study nearby. Create a study profile with classes and weekly availability. Chat with the Gemini AI Tutor for instant academic assistance.
How we built it
We used: React for the frontend interface Express + Node.js for the backend API MongoDB for user data and check-in storage Leaflet to display a live, interactive campus map Firebase Auth for secure login Gemini API for AI-powered tutoring and Q&A
Challenges we ran into
Implementing a smooth and responsive AI chat experience with Gemini and integrating real time map markers with user check-in data.
Accomplishments we're proud of
Seamless signup and matching flow based on class and schedule, integration with Gemini AI for tutoring support, clean and accessible UI tailored to UCSC students.
What we learned
How to work collaboratively across frontend, backend, and AI components.
What's next
Add group chat features and calendar syncing, enable push notifications when nearby students check in, launch a mobile-friendly version for faster on-the-go meetups, open it up for students at other UC campuses.
π StudySlug
A web app for UCSC students to connect with study buddies, join study groups, use AI tutors, and check real-time study locations on a live campus map.
π Setup Instructions
1. Clone the Repository
git clone https://github.com/kritibhargava1/StudySlug.git
cd StudySlug
2. Install Dependencies
Make sure you're in the root directory (where package.json is located), then run:
npm install
This will install both backend (server) and frontend (React) dependencies.
π§ Running the App
Option 1: Development mode (recommended)
Runs both the server and client at the same time:
npm run dev
- Server: runs with
nodemonon port 9000 - Client (React app): runs on http://localhost:3000
Option 2: Run only the backend
node server.js
This starts your backend API on:
http://localhost:9000
Make sure MongoDB is running locally or update your .env file to connect to an external DB.
π Access the App
Once the server and client are running, open:
http://localhost:3000
Use the login/signup page to get started.
π Project Structure
StudySlug/
βββ server.js # Backend entry point
βββ client/ or src/ # React frontend
β βββ components/
β βββ pages/
β βββ styles/
β βββ App.js
βββ .env # Environment variables
βββ package.json # Project config & dependencies
βββ README.md # Setup instructions
π οΈ Environment Variables (.env)
Create a .env file in the root directory with:
MONGO_URI=your_mongodb_connection_string
PORT=9000
Make sure to restart your server after creating this file.
β Technologies Used
- React
- Express
- MongoDB + Mongoose
- Firebase Auth
- Leaflet.js
- Google Generative AI API
- Node.js
Happy Studying π§ β¨
Made with π by the StudySlug Team
Analysis
View
Metric
- 12
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- FirebaseIn code
- Google GeminiIn code
- HTMLIn code
- JavaScriptIn code
- MongoDBIn code
- ReactIn code
- Node.jsClaimed
8 of 9 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
70 KB
Source files
39
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
kritibhargava1/StudySlug
50 files Β· 4.0 MB Β· @ b560e52
Structure
Interface
27 files Β· 54%Screens, components and styles rendered to the user.
API & routing
5 files Β· 10%Request entry points: routes, handlers and controllers.
Application logic
6 files Β· 12%Domain rules, services and shared utilities.
Data & schema
1 file Β· 2%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here β open the file browser to check anything the diagram implies.
Languages
- JavaScript63%
- CSS34%
- Markdown3%
- HTML1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm Β· 22- axios
- cors
- dotenv
- express
- firebase
- leaflet
- mongodb
- mongoose
- react
- react-dom
- react-leaflet
- react-router-dom
- +10 more
server/package.json
npm Β· 15- @google/generative-ai
- axios
- cors
- dotenv
- express
- firebase
- leaflet
- mongoose
- react
- react-dom
- react-leaflet
- react-router-dom
- +3 more
Declared in the repositoryβs manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This projectβs features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.