Skip to content

Atharva1318-dev/mprSem4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EduWorld

Semester 4 Mini‑Project (Web Development)
Your All‑in‑One Digital Campus

EduWorld is a MERN‑stack web application that streamlines campus life for students and teachers alike. It provides:

  • Railway Concession: Students can apply for concession passes.
  • Notes App: Teachers upload PDFs; students browse and download organized by year/subject/branch.
  • E‑Calendar: Class‑specific events (tests, schedule changes) managed by teachers.
  • Code Editor: In‑browser editor with AI‑powered code review suggestions.
  • Canteen Ordering: Students place orders; backend generates a random order number & total, and Twilio WhatsApp notifies when ready.
  • Role‑Based Portals: Single User schema with a role field determines student or teacher portal.

🎥 Demo Video

Watch a short video walkthrough of EduWorld:

Screen.Recording.2025-04-27.at.7.mp4

📚 Description

EduWorld unifies essential campus services into a single platform. Built on the MERN stack (MongoDB, Express.js, React, Node.js) and styled with Tailwind CSS & Material UI, it features secure JWT‑based authentication, Cloudinary file storage, and Twilio WhatsApp API integration for order notifications.


🛠️ Features

  • Role‑Based Auth: JWT‑cookie middleware, signup/login flows, route guards.
  • Notes Upload & Access: Cloudinary PDF uploads for teachers; filtered retrieval for students.
  • Calendar Management: Teacher event creation & student view via FullCalendar.
  • In‑Browser Code Editor: AI‑review suggestions powered by Axios calls.
  • Canteen Ordering Flow: Frontend placeOrder logic → backend orderNumber & total calculation → Twilio WhatsApp “ready” alert.
  • Responsive UI: Mobile‑first layouts with Tailwind & Material UI.

🛠️ Tech Stack

Frontend

  • React.js (Vite)
  • Tailwind CSS & Material UI
  • React Router DOM
  • FullCalendar (daygrid, timegrid, interaction)
  • GSAP & Lottie (animations)
  • Axios (HTTP requests)

Backend

  • Node.js & Express.js
  • Twilio SDK (WhatsApp notifications)

Database

  • MongoDB (MongoDB Atlas)
  • Mongoose

Authentication & Security

  • JWT (jsonwebtoken)
  • bcrypt.js
  • dotenv

File Handling & Storage

  • Multer (file upload)
  • Cloudinary (PDF storage)

👥 My Contributions

  • Designed and implemented Student & Teacher portals (layout, nested routing, navigation)
  • Developed Notes section: file upload form, backend routes, student retrieval UI
  • Built Role‑based authentication: JWT token creation, cookie verification, route protection
  • Integrated E‑Calendar: date‑click form modal, backend event CRUD, FullCalendar rendering
  • Implemented Canteen flow: order schema & routes, random orderNumber generator, frontend placeOrder, Twilio WhatsApp API notification logic

🚀 Installation & Setup

1. Clone the repo

git clone https://github.com/<your‑username>/eduworld.git
cd eduworld

2. Backend

cd backend
npm install

Create a .env file with:

ATLASDB_URL=your‑mongodb‑uri JWT_TOKEN_KEY=your‑jwt‑secret CLOUD_NAME=… CLOUD_API_KEY=… CLOUD_API_SECRET=… TWILIO_ACCOUNT_SID=… TWILIO_AUTH_TOKEN=… TWILIO_WHATSAPP_FROM=whatsapp:+1234567890

Start the server:

node app.js

3. Frontend

cd ../frontend
npm install
npm run dev

Then open your browser to: http://localhost:5173

About

Semester 4 Mini‑Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages