Skip to content

ronikdedhia/Study-Buddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Node.js MongoDB React Native Flask License

Study Buddy

A full-stack student productivity and academic management platform. Study Buddy combines a React web dashboard, a React Native mobile app (Expo), a Node.js REST API, and two Flask ML microservices to give students personalized study recommendations, attendance tracking, document management, and academic performance insights.

Features

  • Authentication — JWT-based registration and login with bcrypt password hashing
  • Student Dashboard — attendance overview, calendar, performance charts (ApexCharts)
  • Document Management — upload and browse study documents (Multer)
  • Study Recommendations — ML-powered suggestions based on student performance
  • Emotion/NLP Feedback — sentiment analysis on student feedback text
  • Email Notifications — nodemailer + SendGrid for transactional emails
  • Mobile App — React Native (Expo) with screens for Login, Home, Recommendations, Documents, Attendance, Profile, and Entry Records
  • ML Microservices — two Flask APIs: student performance predictor and text emotion/spam classifier

Tech Stack

Layer Technology
Web Frontend React 17, Chakra UI, Framer Motion, ApexCharts, Axios
Mobile React Native, Expo, react-navigation
Backend API Node.js, Express, Mongoose, JWT, bcryptjs, Multer, Nodemailer
Database MongoDB
ML Services Flask, Scikit-learn, Pandas (2 microservices)
Testing Jest, Supertest, mongodb-memory-server

Architecture

Study-Buddy/
├── frontend/       React web dashboard (Chakra UI)
├── backend/        Node.js / Express REST API (MongoDB)
├── mobile app/     React Native (Expo) mobile client
└── ml/
    ├── Student-Flask/      Student performance prediction API
    └── Text-Emotion-NLP/   Feedback sentiment / spam classifier API

Getting Started

Backend (Node.js API)

cd backend
npm install
# Create a .env file with MONGO_URI, JWT_SECRET, SENDGRID_API_KEY
npm run dev         # starts with nodemon on port 5000

Frontend (React)

cd frontend
npm install
npm start           # opens at http://localhost:3000

Mobile App (Expo)

cd "mobile app"
npm install
npx expo start      # scan QR code with Expo Go app

ML Services (Flask)

# Student performance predictor
cd ml/Student-Flask
pip install flask scikit-learn pandas numpy
python app.py       # runs on http://localhost:5000

# Text emotion / NLP
cd ml/Text-Emotion-NLP
python app.py       # runs on http://localhost:5001

API Endpoints (Backend)

Method Endpoint Description
POST /api/auth/register Register a new student
POST /api/auth/login Login and receive JWT
GET /api/students/ Get student profile
POST /api/documents/upload Upload study document
GET /api/attendance/ Fetch attendance records

ML API Endpoints

Service Endpoint Input Output
Student-Flask POST /predict Student metrics Performance prediction
Text-Emotion-NLP POST /predict Feedback text Emotion / spam label

License

MIT License — see LICENSE for details.

About

Full-stack student productivity platform — React web, React Native mobile, Node/Express/MongoDB API, and Flask ML microservices.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors