🌉 ShikshaSetu

System Architecture Analysis

Understanding the educational technology behind modern assignment management

Understanding ShikshaSetu

What is this system about?

ShikshaSetu emerged from a simple observation: professors spend countless hours creating assignments and even more time grading them. This platform was built to solve that problem using artificial intelligence, while maintaining the educational quality that matters most to educators.

Rather than being another complex learning management system, ShikshaSetu focuses on one thing and does it exceptionally well - assignment creation and evaluation. Think of it as having a teaching assistant that never gets tired, never makes grading mistakes, and can generate thoughtful questions on any topic you specify.

Why professors choose this approach:

How the System Works

graph TB subgraph "What Users See" A[Web Interface] B[Professor Dashboard] C[Student Portal] end subgraph "Behind the Scenes" D[Assignment Builder] E[AI Question Creator] F[Answer Evaluator] G[Grade Calculator] end subgraph "External Intelligence" H[OpenAI GPT-4] end subgraph "Data Storage" I[User Records] J[Assignment Files] K[Student Responses] L[Grade Reports] end A --> B A --> C B --> D D --> E E --> H C --> F F --> H F --> G D --> J C --> K G --> L B --> I style A fill:#f9f2e7 style H fill:#e8f5e8 style I fill:#e8f4f8

The architecture separates what users interact with from the complex processing that happens behind the scenes. This means professors get a clean, intuitive interface while the system handles the technical complexity of AI integration and data management.

User Experience Flow

flowchart TD Start([User Opens System]) --> Login{Who are you?} Login -->|Professor| Prof[Professor Interface] Login -->|Student| Stud[Student Interface] Prof --> AddStuds[Add Student Emails] Prof --> CreateAssign[Create New Assignment] Prof --> Review[Review Submissions] CreateAssign --> Config[Set Topic & Difficulty] Config --> Generate[AI Generates Questions] Generate --> Publish[Make Available to Students] Stud --> ViewAssign[See Available Assignments] ViewAssign --> TakeAssign[Complete Assignment] TakeAssign --> Submit[Submit Answers] Review --> AutoGrade[System Grades Everything] AutoGrade --> Release[Release Results to Students] style Start fill:#f0f8f0 style Generate fill:#fef9e7 style AutoGrade fill:#e8f4f8 style Release fill:#e8f5e8

Professor and Student Workflows

👨‍🏫 Professor Experience

Login & Setup

Simply enter your email - the system recognizes professors automatically and gives you full access to all features.

Student Management

Add student email addresses to grant them access. You control who can see and take your assignments.

Assignment Creation

Choose your topic, set difficulty level, specify question types. The AI does the heavy lifting of question generation.

Review & Publish

Preview the generated questions, make any adjustments, then publish for students to access.

Grading & Results

The system grades everything automatically and provides detailed analytics. Release results when ready.

👨‍🎓 Student Experience

Access System

Use your student email to login. Only students added by professors can access the system.

Browse Assignments

See all available assignments from your professors with clear information about topics and requirements.

Take Assignment

Answer multiple choice questions and write responses to open-ended questions in a user-friendly interface.

Submit Work

Submit your completed assignment with one click. The system prevents multiple submissions to ensure fairness.

View Results

Once professors release grades, see your scores, detailed feedback, and learn from any mistakes.

Key Features

What makes this system effective:

Smart Question Generation

AI creates questions that match the rigor of top universities, with proper validation and fallback options

Automated Assessment

Instant grading for multiple choice, intelligent evaluation for written responses with detailed feedback

Access Control

Professors manage student access, ensuring only enrolled students can participate in assignments

Performance Tracking

Comprehensive grade reports, analytics export, and progress monitoring for better educational outcomes

Technology Foundation

Python Backend
Streamlit Framework
OpenAI Integration
JSON Data Storage
Modern Web Standards

The technology choices prioritize reliability and ease of deployment. Python and Streamlit provide a robust foundation, while OpenAI integration brings intelligence to question generation and evaluation. The JSON-based storage system ensures portability and simplicity for initial deployments.

Core System Functions

Function What It Does Why It Matters
generate_mcq_with_ai() Creates multiple choice questions using AI Ensures consistent quality and saves preparation time
evaluate_answer_with_ai() Grades responses and provides feedback Fair evaluation with personalized learning guidance
authenticate_user() Manages login and permissions Protects academic integrity and student privacy
publish_assignment() Makes assignments available to students Controls timing and access to coursework

Data Organization

Project Data Structure: data/ ├── users.json # Who can access the system ├── published_assignments.json # Active assignments students can take ├── response_[email]_[id].json # Individual student submissions └── evaluation_[email]_[id].json # Grades and feedback results Each file serves a specific purpose: - User data controls access and permissions - Assignment data contains questions and configuration - Response data stores student answers securely - Evaluation data provides grades and detailed feedback

System Data Relationships

erDiagram PROFESSOR { string email string name datetime last_login } STUDENT { string email string name datetime enrolled string status } ASSIGNMENT { string id string topic string difficulty datetime created datetime published boolean active } QUESTION { string id string type text content json options string correct_answer } SUBMISSION { string id datetime submitted json answers string status } GRADE { float score string letter_grade text feedback datetime graded } PROFESSOR ||--o{ ASSIGNMENT : creates PROFESSOR ||--o{ STUDENT : enrolls ASSIGNMENT ||--o{ QUESTION : contains STUDENT ||--o{ SUBMISSION : makes ASSIGNMENT ||--o{ SUBMISSION : receives SUBMISSION ||--|| GRADE : gets

Future Development

Natural next steps for system evolution:

Database Integration

Moving from JSON files to a proper database system will support larger numbers of concurrent users and provide better data management capabilities for institutional deployment.

Advanced Analytics

Learning pattern analysis could help identify students who need additional support and provide insights into the effectiveness of different question types and difficulty levels.

Rich Content Support

Adding support for mathematical notation, images, and interactive elements would expand the types of subjects and assessment methods the system can handle effectively.

Institutional Integration

Integration with existing learning management systems and student information systems would streamline adoption and reduce administrative overhead for educational institutions.