0% found this document useful (0 votes)
67 views18 pages

SRS OnlineNotesSharing

Uploaded by

Prabodh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views18 pages

SRS OnlineNotesSharing

Uploaded by

Prabodh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

1.

Introduction

1.1 Purpose
The purpose of this SRS document is to provide a detailed
description of the "Online Notes Sharing." The purpose of the
project is to create a platform where students and Teachers can
easily upload, share, and access educational notes, fostering
collaboration, accessibility, and efficiency in learning.

1.2 Document Conventions


This Document was created based on the IEEE template for
System Requirement Specification Documents

1.3 Intended Audience and Reading Suggestions


 Developers: For understanding system functionality and
architecture.
 Project Managers: For planning and monitoring progress.
 System Administrators: For deployment and maintenance
guidelines.
 End Users: For understanding the capabilities and usage of the
system.

1.4 Product Scope


The “Online Notes Sharing” project is a web-based platform
designed to facilitate the sharing and organization of academic
notes among students and Teachers. The system allows users to
securely register, upload, download, and manage notes while
offering role-based functionalities for students, Teachers, and
administrators. Built using the Python Django framework with an
SQLite database, the platform ensures secure data handling,
accessibility across devices, and a user-friendly experience. It aims
to foster collaboration, improve accessibility to study materials,
and streamline the process of sharing and organizing academic
resources in an efficient and scalable manner.
 Key Objectives:
 Enable effective collaboration between students and Teachers by
sharing notes and study materials.
 Enhance accessibility with anytime, anywhere access to course
materials.
 Improve study efficiency through organized and searchable notes.
 Support diverse learning styles with multimedia content and
interactive features.
 Encourage active participation, engagement, and knowledge
sharing within a learning community.
 Streamline communication between students and Teachers while
promoting academic integrity.

 System Modules:
The system includes the following core modules, each tailored to
specific user roles:
1. User Registration and Authentication:

 Provides a secure login and registration process.


 Allows users to register as students, Teachers, or administrators.
 Implements role-based access control to restrict features based on
user roles.

2. Student Module:

 Allows students to upload, download, and organize notes


 Provides a dashboard for managing personal notes and viewing
shared resources.
 Enables searching for notes based on subjects, tags, and
categories.
3. Teacher Module:

 Allows Teachers to upload and share course materials.


 Provides tools for managing shared notes and interacting with
students.
 Enables Teachers to moderate and approve uploaded student
notes.

4. Admin Module:

 Allows admins to manage user accounts (students and Teachers).


 Provides the ability to review and approve or reject notes
uploaded by students.
 Tracks system statistics such as total users, uploaded notes, and
active contributors.
 Manages platform settings and ensures smooth operation of the
system.

1.5 References
 Python Django Documentation (https://docs.djangoproject.com/)
 SQLite Documentation (https://www.sqlite.org/docs.html)
2. Overall Description
2.1 Product Perspective
2.2 Product Functions
The "Online Notes Sharing" system offers several core functionalities to
facilitate note-sharing, user management, and content moderation. Below
is a detailed description of the main functions, organized according to
user roles: Student, Teacher, and Admin.
1. User Registration and Authentication
 Description: The system provides a secure registration and login
mechanism for users. Users can sign up as students, Teachers, or
administrators.
 Features:

o Role-based login (Student, Teacher, Admin).


o Password reset and profile management.

2. Student Module
 Description: The student module allows registered students to
upload, download, and manage their notes. It also provides a
dashboard to organize and track study materials.
o Features:

o Upload Notes: Students can upload their notes and study materials for
sharing.
o Download Notes: Students can browse and download notes shared by
other users.
o Organize Notes: Allows students to categorize and tag their notes for
easier access and sharing.
o View Note History: Students can view the history of notes they've
uploaded or downloaded.

3. Teacher Module
 Description: The Teacher module enables Teachers to upload,
moderate, and manage notes shared by students. Teachers can also
interact with students and ensure quality content.
 Features:

o Upload Course Materials: Teachers can upload lecture notes,


presentations, and other teaching materials.
o Moderate Notes: Teachers can approve or reject student-uploaded
notes to ensure quality and relevance.
o Interactive Features: Teachers can provide feedback on notes shared
by students and interact in forums or discussions.

4. Admin Module
 Description: The admin module provides administrative
functionalities to manage users, monitor activities, and oversee the
proper functioning of the platform.
 Features:

o User Management: Admins can view, add, update, and delete student
and Teacher accounts.
o Note Moderation: Admins can review and approve or reject notes
uploaded by students.
o Platform Management: Admins can manage system settings, ensure
data security, and handle platform maintenance tasks.
o System Metrics: Provides a dashboard to track key metrics such as
the number of students, Teachers, uploaded notes, and downloads.
o Reporting and Analytics: Admins can generate reports on note-
sharing activity, user engagement, and system performance.

5. General System Functions


 Role-Based Access Control (RBAC): Ensures that users can only
access the functionalities relevant to their roles (Student, Teacher,
Admin).
 Data Management: The system uses the SQLite database for data
storage, supporting CRUD (Create, Read, Update, Delete) operations
for all entities (users, donations, tasks).
2.3 User Classes and Characteristics

 Student
o Description: Individuals who use the platform to upload and download
notes, study materials, and participate in discussions. They can interact
with notes shared by other users and contribute their own.
o Characteristics:
- Primarily access the platform to share and acquire notes.
- Can organize and manage their personal study materials.
- Interact with other students and educators to enhance the learning
experience.

 Educator
o Description: Teachers or professors who upload course related notes and
resources for students. They also moderate content to ensure quality and
relevance.
o Characteristics:
- Upload lecture notes, tutorials, and other resources for students.
- Provide feedback on student uploaded notes.
- Interact with students to support their learning needs.
- Can moderate and approve/reject student contributed content.

 Admin
o Description: Platform administrators who manage user accounts, oversee
the moderation of content, and ensure that the system operates smoothly.
o Characteristics:
- Responsible for managing student and educator accounts.
- Oversee the content uploaded by users (approve or reject notes).
- Ensure smooth platform operation and handle any system related issues.
- Generate reports and track platform statistics.

 Developer
o Description: Programmers and technical personnel involved in the
development, maintenance, and enhancement of the Online Notes Sharing
system.
o Characteristics:
- Work on system development, debugging, and feature enhancements.
- Ensure the platform runs efficiently and scales as necessary.
- Maintain and update the codebase to meet evolving user needs.

 Project Manager
o Description: Individuals responsible for overseeing the progress of the
“Online Notes Sharing” project, ensuring it meets deadlines and
objectives.
o Characteristics:
- Supervise project timelines and deliverables.
- Coordinate between developers, administrators, and users.
- Ensure that the project stays aligned with goals and stakeholders'
expectations.

 Tester
o Description: Quality assurance professionals who verify the functionality
of the system, identify bugs, and ensure that the platform meets its
specifications and performance requirements.
o Characteristics:
- Conduct tests to ensure the system is free of bugs and meets user
requirements.
- Test all platform functionalities from a user perspective.
- Provide feedback to developers on potential improvements or issues.
2.4 Operating Environment

Server Side
Component Details
Operating System Windows
Programming Language Python
Framework Django
Database SQLite
Web Server Apache
Configuration Requires installation of Python,
Django, SQLite, and a web server
(Apache or Nginx), along with
necessary libraries and dependencies

Client Side
Component Details
Supported Browsers Google Chrome, Mozilla Firefox
Supported OS Windows
Browser Requirements Utilizes web technologies like HTML,
CSS, JavaScript, and Bootstrap to
ensure compatibility and
responsiveness across modern web
browsers
2.5 Design and Implementation Constraints
HOME PAGE
2.6 User Documentation
After developing system user documentation will be prepared and help
document will be provided
 User Guide: Includes details on how donors, volunteers, and
admins can use the system.
 Admin Manual: Covers system administration tasks, including
user management.

2.7 Assumptions and Dependencies


 Users have access to the internet and a modern web browser.
3. External Interface Requirements

About Page
Contact Us Page
USER SIGNUP PAGE
USER LOGIN PAGE

ADMIN LOGIN:
ADMIN HOME:

USER HOME
3.2 Hardware Interfaces
 Server Hardware: Standard web server configuration (Intel Core
i5 or higher, 8GB RAM).
 Client Hardware: General requirements for a modern PC.

3.3 Software Interfaces


 Django Framework: For handling business logic and data
interactions.
 SQLite: As the primary database for data storage.
 Web Server (Apache/Nginx): For hosting the web application.

3.4 Communications Interfaces


 HTTP/HTTPS Protocols: For secure data transmission between
client and server.
4. System Features
The "Online Notes Sharing System" provides various functionalities across
different user roles: Student, Teacher, and Admin. Below are the module
specifications, detailing the features available for each role.

 Student Module:
o Manage Account:
- Update personal information and view account details.
o Upload Notes:
- Submit and upload notes for specific courses or subjects in formats
like PDF, Word, or PPT.
o Download Notes:
- Access and download shared notes for their enrolled courses or
subjects.
o Search Notes:
- Search for specific topics or subjects to find relevant shared materials.
o Track Contribution:
- View details of their uploaded and downloaded notes history.

 Teacher Module:

o Manage Account:

- Update personal information and view teacher account details.

o Upload Course Material:

- Upload lecture notes, slides, and supplementary learning materials for


their assigned subjects.
 Approve Student Uploads:

- Review and approve notes uploaded by students before they become


accessible to others.

o Track Contributions:

- View metrics of uploaded content, including the number of downloads


or feedback from students.

 Admin Module:
o Manage Accounts:

- Add, update, or delete user accounts (Students and Teachers).

o Notes Management:

- Monitor and manage all uploaded notes, ensuring proper organization


and quality standards.

o User Activity Tracking:

- Track statistics such as the total number of users, uploaded notes,


downloads, and active courses.
 General Features:
o User Registration and Authentication:

- Secure user registration and login functionality using passwords for all
user roles.

o Role-Based Access Control (RBAC):

- Provide different access levels and permissions based on user roles


(Student, Teacher, Admin).

o Search and Filter Functionality:

- Allow users to search and filter notes by keywords, course names, or


upload dates.
5. Other Nonfunctional Requirements
The "Online Notes Sharing" includes various nonfunctional
requirements that ensure the system's performance, safety, security, and
quality attributes.
5.1 Performance Requirements
- The system should perform efficiently with minimal latency during
typical operations such as user registration, login, donation submission,
and viewing dashboard data.
- The response time for loading the dashboard (donor, volunteer, or admin)
should not exceed 3 seconds under normal conditions.
- The speed of data access may depend on network connectivity and
browser performance.
5.2 Safety Requirements
- The system should regularly back up uploaded notes and user data to
prevent loss in case of server crashes or technical failures.
- Users should be able to report issues with the uploaded files or the system
interface, and critical issues should be resolved in the next release cycle.

o 5.3 Security Requirements


- Access to the system should be restricted to registered users only, with
role-based access controls in place for students, teachers, and admins.
- The system should use HTTPS to encrypt data transmitted between the
server and the client.
- Admins should have the ability to review user accounts and deactivate or
delete accounts that are deemed inactive or suspicious.

o 5.4 Software Quality Attributes


- Usability: The system is user-friendly, featuring a simple and intuitive
interface to accommodate users of varying technical skills.
- Reliability: The application ensures high availability and minimal
downtime, with stable performance.
- Maintainability: The codebase is structured and documented well to
facilitate easy debugging, updates, and future enhancements.
- Scalability: Though initially designed for use within a specific
institution, the system should be scalable to support multiple institutions
or larger user bases with minimal configuration changes.
- Portability: The application is compatible with different operating
systems (Windows, macOS, Linux) and works seamlessly across major
web browsers (Chrome, Firefox, Edge).
- Modularity: The system’s architecture supports adding new features or
modifying existing ones without affecting the rest of the application.

o 5.5 Business Rules


o The "Online Notes Sharing System" operates based on specific business
rules that govern processes for students, teachers, and administrators.
These rules ensure data integrity, smooth operation, and consistency.
o Business Rules:
- All users (Students, Teachers, Admins) must register and authenticate
with secure passwords.
- Role-based access control is enforced, restricting functionalities based on
roles (Student, Teacher, Admin).
- Students can upload notes for their courses or subjects using the "Upload
Notes" feature.
- Teachers have the authority to review and approve student-uploaded
notes before they are accessible to others.
- The status of uploaded notes (Approved, Rejected, Pending) will be
displayed on the student's dashboard.
- Teachers can upload lecture materials directly for students, categorized
by subjects or courses.
- Admins can manage user accounts (add, update, delete) and monitor
overall system metrics, such as the total number of users, uploaded notes,
and downloads.
6. Other Requirements
- This section outlines the additional requirements for the "Online
Notes Sharing System" to ensure maintainability, portability, and
logical database structuring.

o Maintainability
- The application will be designed to allow easy adoption of changes,
including adding new features, updating existing functionalities, or fixing
bugs.

o Portability
- The application will be easily portable across different operating systems
(Windows, macOS, and Linux) as it is developed using platform-
independent technologies like Python and web frameworks such as
Django or Flask.

o Logical Database Requirements


The system requires a well-structured database to store and manage
information related to users, notes, and their interactions. Below are the key
database requirements:
 User Information
 Notes Details
 Teacher Approvals
 Download History
 System Metrics

You might also like