A professional-grade, AI-powered platform designed for modern student collaboration.
Effortlessly share notes, join study huddles, and challenge your knowledge with AI-generated assessments.
StuNotes is more than just a note-sharing app; it’s an intelligent ecosystem for learners. It bridges the gap between solitary study and social learning by combining High-Authority UI Design with Real-time Communication and Google Gemini AI.
Designed with scalability and security as core pillars:
graph TD
Client[React 19 Frontend] --> API[Express.js Node API]
API --> Auth[Firebase Admin Auth]
API --> DB[MongoDB Cloud Atlas]
API --> Storage[AWS S3 Cloud Assets]
API --> AI[Google Gemini AI Engine]
Client <--- Sockets[Socket.IO Real-time Messaging]
- Gemini 2.0 Integration: A context-aware chatbot for deep academic inquiries.
- Automatic Grading: Subjective answers are graded by AI to provide nuanced feedback.
- Isolation & Huddles: Create private group huddles or participate in public subject-based communities.
- Persistent Chat: Real-time messaging with Socket.IO, including message editing and deletion.
- Voice Transmissions: Share audio notes directly within your study group.
- AI Question Generation: Convert your uploaded notes directly into interactive practice quizzes.
- Progressive Leaderboards: Gamified performance tracking to motivate improvement.
- Focus Mode: A distraction-free environment for taking timed assessments.
| Layer | Technologies |
|---|---|
| Frontend | React 19, Vite, React Router 7, Recharts, Firebase SDK |
| Backend | Node.js, Express 5, Socket.IO, Firebase Admin SDK |
| Intelligence | Google Gemini (Generative AI), PDF-Parse, Mammoth |
| Storage | MongoDB Atlas (NoSQL), AWS S3 (Blob Storage) |
| Stying | Vanilla CSS (Premium Glassmorphism), Lucide/React-Icons |
├── backend/
│ ├── src/
│ │ ├── config/ # Configurations for S3, Firebase, Mongo
│ │ ├── controllers/ # API Logic & Route Handlers
│ │ ├── middleware/ # Auth & File Upload Logic
│ │ ├── routes/ # REST Endpoint Definitions
│ │ └── sockets/ # Real-time Event Handlers
│ └── index.js # Server Entry Point
├── frontend/
│ └── src/
│ ├── features/ # Component-based logic (Notes, AI, Groups)
│ ├── services/ # Axios & Firebase API clients
│ └── shared/ # Reusable UI Patterns
└── README.md # Project Documentation
Following a rigorous security audit, the platform includes:
- Server-Side Token Verification: Every request is authenticated via Firebase Admin SDK.
- Resource Ownership: Users can only modify or delete their own notes and assessments.
- Encrypted Environment: All sensitive keys are managed through isolated
.envconfigurations.
- Node.js (v18+)
- MongoDB Atlas Account
- AWS Account (S3 Bucket)
- Firebase Project
-
Clone the Repo
git clone https://github.com/your-username/stunotes.git cd stunotes -
Backend Setup
cd backend npm install # Create .env with MONGO_URI, AWS_KEYS, GEMINI_KEY npm run dev
-
Frontend Setup
cd frontend npm install # Create .env with Firebase Config npm start
Built for students, by students.
Revolutionize your learning experience with StuNotes.