Skip to content

StudentPortal-grad/student-portal-docs

Repository files navigation

Student Portal - Project Documentation

Note:
This is an early version of the project documentation. It will be subject to significant changes and revisions as the project progresses through the upcoming sprints. Some sections may change as new features are added, and additional details are clarified.

Table of Contents

  1. Overview
  2. Features
  3. Technologies Used
  4. System Processes
  5. Interface Designs
  6. Project Repository Structure
  7. Contributors
  8. Call for Mentorship & Investment

Overview

The Student Portal is an integrated academic platform designed to enhance student engagement, collaboration, and resource accessibility. Our goal is to provide a seamless digital environment where students can:

  • Discover mentorship opportunities
  • Access academic and educational resources
  • Organize and participate in events and workshops
  • Receive real-time university updates and notifications
  • Foster collaborative learning through discussions and shared knowledge

Features

  • AI-Powered Chatbot - Provides instant responses to student queries regarding university rules, events, and administrative guidance.
  • Event Management System - Helps students track, RSVP, and receive recommendations for academic events such as seminars and workshops.
  • Mentorship & Collaboration - Enables students to connect with peers, faculty, and alumni for mentorship and academic discussions.
  • Resource Sharing - Allows users to upload, discover, and access study materials in a structured knowledge-sharing environment.
  • Centralized Dashboard - Provides real-time notifications for college announcements, student affairs updates, and academic schedules.

View the Project Presentation


Technologies Used

  • Backend: Node.js with Express.js
  • Database: Mongoose (MongoDB ORM)
  • Frontend: Next.js (React Framework)
  • Mobile Development: Flutter
  • Real-time Communication: Socket.io
  • File Storage: Local storage for storing files temporarily, with future plans to transition to cloud-based storage before deployment.
  • Artificial Intelligence: Integration with an AI-powered chatbot using Natural Language Processing (NLP) models
  • Recommendation System: Core recommendation engine for personalized user experiences

System Processes

This section outlines key system workflows through sequence diagrams, illustrating user, system, and external component interactions. These processes are crucial for the platform's core functionality, ensuring seamless authentication, communication, and user engagement.

For additional workflows and a complete set of sequence diagrams, refer to the full repository.


Start a Discussion Process

Starting a discussion enables interactive communication within a group, encouraging users to engage in academic or community-related topics. This workflow validates the title and content before storing the discussion, ensuring only well-formed and relevant content is uploaded.

sequenceDiagram
    participant User
    participant Discussion
    participant DB

    User->>Discussion: Clicks "Start Discussion"
    User->>Discussion: Submits Title and Content
    Discussion->>DB: Validate Title and Content
    alt Validation Fails
        DB-->>Discussion: Validation Error
        Discussion-->>User: Show Validation Error
    else Validation Passes
        DB-->>Discussion: Validation Successful
        Discussion->>DB: Insert Discussion into `discussions` Table
        DB-->>Discussion: Discussion Stored
        Discussion-->>User: Show Success Message
    end
Loading

Upload Academic Materials Process

This process is key for ensuring that academic resources are uploaded, categorized, and stored correctly for user access. It includes validation checks to confirm that the uploaded files meet the necessary requirements, including file type and metadata, ensuring smooth integration into the system.

sequenceDiagram
    participant User
    participant Resource
    participant DB

    User->>Resource: Clicks "Upload Resource"
    User->>Resource: Submits File, Title, and Description
    Resource->>DB: Validate File Type and Metadata
    
    alt Validation Fails
        DB-->>Resource: Validation Error
        Resource-->>User: Show Validation Error
    else Validation Passes
        DB-->>Resource: Validation Successful
        Resource->>DB: Insert File Metadata into `resources` Table
        DB-->>Resource: File Metadata Saved
        Resource-->>User: Show "Upload Successful" Message
    end
Loading

Create Event Process

The process is essential for organizing academic and community-related events in the system. Faculty members or administrators can submit event details, which are validated to ensure all required fields are filled in correctly. If successful, the event is stored in the system and confirmed to the user.

sequenceDiagram
    participant FacultyOrAdmin as FacultyOrAdmin
    participant Event as Event
    participant DB as DB

    FacultyOrAdmin->>Event: Clicks "Create Event"
    FacultyOrAdmin->>Event: Submits Event Details
    Event->>DB: Validate Event Fields

    alt Validation Fails
        DB-->>Event: Validation Error
        Event-->>FacultyOrAdmin: Show Validation Error
    else Validation Passes
        DB-->>Event: Validation Successful
        Event->>DB: Insert Event into `events` Table
        DB-->>Event: Event Stored
        Event-->>FacultyOrAdmin: Show Success Message
    end
Loading

Interface Designs

  • Student Portal Application - A detailed view of the app's user interface, designed to provide a streamlined and intuitive student experience.
  • Student Portal Dashboard - A visual representation of the admin dashboard interface, where administrators can control and manage all system functions.

Project Repository Structure

Document Description
Project Introduction Provides an overview of the project, including its objectives, background, and motivation for development. Highlights the problem statement, expected impact and a comparison with existing platforms.
Requirement Gathering Documents the user surveys, and analysis of user needs to define project goals.
Requirements Definition Lists both functional and non-functional requirements, defining what the system should do and performance constraints it must meet.
Use Case Development Includes detailed use case diagrams and system workflows to illustrate interactions between users and the system.
System DFD Depicts the system's data flow and process structure, showing how data moves between components and external entities.
Data Dictionary Defines all the key data elements, their attributes, and constraints within the system database.
Sequence Diagrams Shows step-by-step interactions between users and system components, helping visualize system operations over time.
Project Initial Plan Outlines the preliminary timeline, milestones, and key deliverables in the early stages of the project.
Project Tools & Techniques Lists the programming languages, frameworks, databases, and methodologies used in the project, along with their roles.

Contributors

Supervisors:

  • Dr. Nora Shoip and Dr. Ebtsam Adel
  • Eng. Abdelrahman Khaled

Project Team:

  • Backend Developers: Abdul Rahman Abu Zied, Tasbeeh Ismail, Omnia Gamal
  • Frontend Developers: Abdul Rahman Ahmed Saad, Mona Alhusseiny
  • Mobile Developers: Mina Zarif, Mo’men Ayman
  • Security Specialist: Ziad Ahmed
  • AI Specialist: Youssef Abdelmaksod
  • UI/UX Designer: Noor Allam, Abdullah Mohammed

Call for Mentorship & Investment

We are actively looking for mentors, industry experts, and potential investors from leading tech companies to guide and support our project. If you are interested in collaborating or providing feedback, please reach out to us.

Contact Email: studentportal.team@gmail.com
GitHub Organization: Student Portal


About

Student Portal Documentation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages