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.
- Overview
- Features
- Technologies Used
- System Processes
- Interface Designs
- Project Repository Structure
- Contributors
- Call for Mentorship & Investment
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
- 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.
- 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
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.
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
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
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
- 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.
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. |
- Dr. Nora Shoip and Dr. Ebtsam Adel
- Eng. Abdelrahman Khaled
- 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
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