Sugavanesh Murugesan Backend Craftsman & System Designer

StudentWorkspace

A lightweight alternative to Google Classroom built with Express and MongoDB, providing essential tools for academic assignment management, resource sharing, and student collaboration.

Overview

StudentWorkspace is my first backend development project, created to address core academic management needs without the complexity of larger platforms. This application serves as a focused alternative to Google Classroom and Google Drive, specifically tailored for assignment handling, exam management, and homework tracking.

Technical Implementation

  • Backend: Express.js on Node.js with MVC architecture
  • Database: MongoDB with Mongoose for data modeling
  • Authentication: JWT-based user authentication and authorization
  • Frontend: Server-side rendering with EJS templates
  • Styling: Responsive design with modern CSS

Architecture

┌─────────────────────────────────────────┐
│               Client Layer              │
│             (EJS Templates)             │
└───────────────────┬─────────────────────┘
                    │
┌───────────────────▼─────────────────────┐
│             Express Router              │
│   ┌────────┐  ┌────────┐  ┌─────────┐   │
│   │ Auth   │  │ Course │  │ Content │   │
│   │ Routes │  │ Routes │  │ Routes  │   │
│   └────────┘  └────────┘  └─────────┘   │
└───────────────────┬─────────────────────┘
                    │
┌───────────────────▼─────────────────────┐
│            Controller Layer             │
│   ┌────────┐  ┌────────┐  ┌─────────┐   │
│   │ User   │  │ Course │  │ Content │   │
│   │ Logic  │  │ Logic  │  │ Logic   │   │
│   └────────┘  └────────┘  └─────────┘   │
└───────────────────┬─────────────────────┘
                    │
┌───────────────────▼─────────────────────┐
│              Model Layer                │
│   ┌────────┐  ┌────────┐  ┌─────────┐   │
│   │ User   │  │ Course │  │ Content │   │
│   │ Schema │  │ Schema │  │ Schema  │   │
│   └────────┘  └────────┘  └─────────┘   │
└───────────────────┬─────────────────────┘
                    │
┌───────────────────▼─────────────────────┐
│              MongoDB                    │
└─────────────────────────────────────────┘

Key Features

  • Course Management: Create and organize academic courses
  • Assignment System: Distribute, collect, and grade assignments
  • Resource Library: Share educational materials and resources
  • Discussion Board: Enable student-teacher communication
  • File Handling: Upload and manage academic documents
  • User Management: Different roles for students and educators

Development Focus

As my first backend project, StudentWorkspace helped me develop skills in:

  • Building RESTful APIs with Express
  • Designing NoSQL database schemas
  • Implementing secure user authentication
  • Server-side rendering with templating engines
  • Creating intuitive educational interfaces

This project served as my foundation in backend development, emphasizing practical application architecture, data modeling, and user-focused design in an educational technology context.

Express MongoDB Node.js JavaScript EJS August 2023