Software Analysis
Functional Requirements:
1.User :: Student:
a.User can sign up
i.Required: Name, Mail, Phone, Major, Grade, Age, Gender , photo
b.User can login
c.User can activate his account by email verifying
d.User can reset their password
e.User can change and update their info
i.Phone, Major, Grade, Age, photo
f.Users can show course details
i.Course name, Major, Grade, Subject, Level, Teacher, course rate, sessions, sessions duration, status, price, reviews
g.User can enroll in a course
h.User can pay course fees
i.User can see his paid bills and payments
j.User can exit with a refund
k.User can enroll in real course or a trial session
l.User can rate session
m.User must be notified with new sessions, quizzes, and exams in registered courses.
n.User can be notified with messages
o.User can send messages to the teacher who enrolled their courses
p.User can attend sessions
q.User can attend quizzes and get the result
r.User can attend exams and get the result
s.User can show their quizzes
t.User can show their exams
u.User can get certificates at the end of the course
v.User can show homework of session
w.User can upload answers of homework
x.User can chat with support
y.User can download material of course
z.User can ask and answer in FAQ
2.User :: Teacher:
a.User can sign up
i.Required: Name, Mail, Phone, Age, Gender , photo
ii.Required: Major, Grade, subject, Level, ex years
iii.Required: About, intro video
b.User can login
c.User can activate his account by email verifying
d.User can reset their password
e.User can change and update their info
i.Age. photo, Major, Grade, subject, Level, ex years, About, intro video
f.User can create and edit course info
i.Course name, Major, Grade, Subject, Level, session duration, status, price, description, schedule
g.User can show their course details and schedule
h.User can create and edit session info
i.Title, status, price, description, schedule
i.User can set and change their schedule Session-timetable
j.User can show session reviews
k.User can manage payments
i.Show: payment history, pending,
ii.Withdraw available payment
l.User must be notified of a new student enrollment, pending, available payment.
m.User can be notified with messages
n.User can send messages to students enrolled in his courses
o.User can Start the session
p.User can create questions bank and question be saved automatically and can explore them.
i.Subject - Unit - Lesson - Title - Notes
q.User can create, edit, schedule quiz and assign questions
r.User can create, edit, schedule exam and assign questions
s.User can evaluate exams and quizzes
t.User can show his quizzes with answers of students and model answer
u.User can show their exams with answers of students and model answer
v.User can assign homework for session
w.User can evaluate homework
x.User must put signatures for certificates
y.User can chat with support
z.User can upload material to class like pdf, videos, images with size limitation on google drive service
aa.User can ask and answer in FAQ
bb.Statistic on Exams and quizes
3.User :: parent:
a.User can sign up
b.User can login
c.User can activate his account by email verifying
d.User can reset password
e.User can change and update his info
f.Get notify with messages
g.Get notify with student sessions, quizzes and exams and results
h.Can pay course bill
4.User :: admin:
a.User can login using an authenticated account created by the manager account
b.User can activate his account by email verifying
c.User can reset their password
d.User can change and update their info
e.User can create and edit rolls for other users
f.User can assign roles to other users
g.User can lock other users' account
h.User can Send messages to all user
i.User can Notify all users with messages
j.User can send email to users
k.User can review teacher's CV and accept or reject
l.User can create and edit Curriculums
m.User can create and edit Grades
n.User can create and edit Level
o.User can access questions bank
p.User can view all schedules
q.User must be notified of new payments for teacher and student
r.User must be notified of new teacher registration
s.User must be notified with the refund action
t.User must be notified if other users need support
5.User :: Manager:
●User can login using an authenticated account
●User can create admin
●User can reset his password
●User can create and edit rolls for other users
●User can assign roles to other users
●User can lock other users' account
●User can Send messages to all user and also delete it
●User can Notify all users with messages
●User can send emails to users
●User can review the teacher's CV and accept or reject and review why was accepted or refused
●User can access questions bank
●User can view all schedules
●User must be notified of new payments for teacher and student
●User must be notified of new teacher registration
●User must be notified of the refund action
●User must be notified if other users need support
●User must be provided with a weekly and monthly report
●All active, deactivated, new Student number
●All active, deactivated, new Teacher number
●Refund
●Paid service
●Other expense
●Taxes & Gross income & ads income & Net income
●User must review all reports
Courses Schema:
IGCSE has gardes (10, 11, 12) each grade contains subjects (English, Biology, Math, Chemistry, physics humanities, Arabic, ICT) each subject contains Levels ( O, A, AS).
SAT has gardes (10, 11, 12) each grade contains subjects (English, Math, EST1 English, EST2 Biology, EST2 Math, EST2 Physics, EST2 Chemistry) .
TOEFL
IELTS
General English
Major schema
MajorGradeSubjectLevel
IGCSE10
11
12English
Biology
Math
Chemistry
physics humanities
Arabic
ICTO
A
AS
SAT10
11
12English
Math
EST1 English
EST2 Biology
EST2 Math
EST2 Physics
EST2 ChemistryNull
TOEFLNullReading
Writing
Speaking
ListeningNull
IELTSNullReading
Writing
Speaking
ListeningNull
General EnglishNullReading
Writing
Speaking
ListeningNull
Manager DashBoard Reports:
Income Finance details:
Total gross and net income, pending.
Payment Details with filter on type, status and date with summary
Students:
Number of New Students Today,week,month
Number of paid Students Today,week,month
Number of refund students Today,week,month
Teacher:
Number of New Teacher Today,week,month
Number of pending Teacher Today,week,month
Number of paid Teacher Today,week,month
Courses:
Number of courses started Today,week,month
Number of session Today,week,month
Number of students attend sessions Today,week,month
Number of canceled sessions
Teacher Details
Course Details
Session Details
Student Details
Initial Design
Database :
1. Users Table:
- UserID (Primary Key)
- Name
- Phone
- Age
- Gender
- Photo
- Password
- Activation_Status
- Activation_date
- Role (Foreign Key to Roles Table)
2. Students Table:
- StudentID (Primary Key, Foreign Key to Users Table)
- Major
- Grade
3. Teachers Table:
- TeacherID (Primary Key, Foreign Key to Users Table)
- Major
- Grade
- Subject
- Experience_Years
- About
- Intro_Video_url
4. Parents Table:
- ParentID (Primary Key, Foreign Key to Users Table)
5. Admins Table:
- AdminID (Primary Key, Foreign Key to Users Table)
6. Managers Table:
- ManagerID (Primary Key, Foreign Key to Users Table)
7. Roles Table:
- RoleID (Primary Key)
- Role_Name
- Description
- Notes
8. Courses Table:
- CourseID (Primary Key)
- Course_Name
- Major
- Grade
- Subject
- Level
- TeacherID (Foreign Key to Teachers Table)
- Course_Rate *
- Session_Duration
- Status
- Price
- Number of sessions
Courses rate comment Table:
9. Enrollments Table:
- EnrollmentID (Primary Key)
- UserID (Foreign Key to Users Table)
- CourseID (Foreign Key to Courses Table)
- Enrollment_Type (Real Course or Trial Session)
- Date
10. Payments Table:
- PaymentID (Primary Key)
- UserID (Foreign Key to Users Table)
- itemID: CourseID (Foreign Key to Courses Table)
- Type course, exam, service, expense
- Amount
- Payment_Date
- Status
11. Messages Table:
- MessageID (Primary Key)
- SenderID (Foreign Key to Users Table)
- ReceiverID (Foreign Key to Users Table)
- Message_Content
- Timestamp
- Read_ststus
- Delete Flag
12. Sessions Table:
- SessionID (Primary Key)
- CourseID (Foreign Key to Courses Table)
- Title
- Status
- Price
- Description
- Schedule
13. Sessions Attendance Table:
- SessionID (Foreign Key to Session Table)
- CourseID (Foreign Key to Courses Table)
- StudentID (Foreign Key to Student Table)
- Date
- Status
14. Questions Bank Table:
- QuestionID (Primary Key)
- creatorID (Foreign Key to Teacher)
- creation_date
- question_type: written , mcq, matching
- major
- grade
- level
- Subject
- Unit
- Lesson
- Title
- Notes
- Question_Content
- choice1
- choice2
- choice3
- choice4
- part1
- part2
- Answer
- Timestamp
15. Quizzes Table:
- QuizID (Primary Key)
- SessionID (Foreign Key to Sessions Table)
- Schedule_date
16. Exams Table:
- ExamID (Primary Key)
- CourseID (Foreign Key to Sessions Table)
- creatorID (Foreign Key to Teacher Table)
- Schedule
- Questions
- Timestamp
17. Quizzes_exams Questions Table:
- ID (Primary Key)
- QuestionID (Foreign Key to Questions Table)
18. Quizzes_exams Questions student answer Table:
- ID (Primary Key)
- QuestionID (Foreign Key to Questions Table)
- studentID (Foreign Key to student Table)
- answer
- garde
- model answer
- Timestamp
19. Homework Table:
- HomeworkID (Primary Key)
- SessionID (Foreign Key to Sessions Table)
- Title
- Description
- Deadline
20. Homework Answers Table:
- AnswerID (Primary Key)
- UserID (Foreign Key to Users Table)
- HomeworkID (Foreign Key to Homework Table)
- Answer_Content
- Timestamp
21. Certificates Table:
- CertificateID (Primary Key)
- UserID (Foreign Key to Users Table)
- CourseID (Foreign Key to Courses Table)
- Date_Issued
22. FAQs Table:
- FAQID (Primary Key)
- session_id
- Question
- Answer
23. Support Chat Table:
- ChatID (Primary Key)
- UserID (Foreign Key to Users Table)
- Support_Team_MemberID (Foreign Key to Users Table)
- Message_Content
- Timestamp
24. Material Table:
- MaterialID (Primary Key)
- CourseID (Foreign Key to Courses Table) subject
- Material_Type
- Material_URL
- Upload_Date
- Num of downloads
25. Reviews Table:
- ReviewID (Primary Key)
- UserID (Foreign Key to Users Table)
- CourseID (Foreign Key to Courses Table)
- SessionID (Foreign Key to Session Table)
- Rating
- Review_Content
- Timestamp
26. Schedule Table:
- ScheduleID (Primary Key)
- TeacherID (Foreign Key to Teachers Table)
- SessionID (Foreign Key to Sessions Table)
- Date
- Start_Time
- End_Time
27. Notifications Table:
- Notification_id (Primary Key)
- reciverID (Foreign Key to Teachers Table)
- Date
- status
- content
Blogs
1. User Management:
- POST /api/signup (User sign up)
- POST /api/login (User login)
- POST /api/activate (Activate user account)
- POST /api/reset_password (Reset user password)
- PUT /api/user/:id (Update user info)
2. Course Management:
- GET /api/courses (Get course details)
- POST /api/enroll (Enroll in a course)
- POST /api/payments (Pay course fees)
- GET /api/payments/:userID (Get user's paid bills and payments)
- DELETE /api/enroll/:enrollmentID (Exit from a course with refund)
3. Session Management:
- GET /api/sessions/:userID (Get user's sessions)
- POST /api/sessions/:sessionID/rate (Rate a session)
4. Quiz and Exam Management:
- GET /api/quizzes/:userID (Get user's quizzes)
- GET /api/exams/:userID (Get user's exams)
- POST /api/quizzes/:quizID/submit (Submit quiz answers)
- POST /api/exams/:examID/submit (Submit exam answers)
5. Homework Management:
- GET /api/homework/:userID (Get user's homework)
- POST /api/homework/:homeworkID/submit (Submit homework answers)
6. Certificate Management:
- GET /api/certificates/:userID (Get user's certificates)
7. Message Management:
- GET /api/messages/:userID (Get user's messages)
- POST /api/messages (Send message)
9. Material Download:
- GET /api/materials/:courseID/download (Download course material)
10. FAQs Management:
- GET /api/faqs (Get FAQs)
- POST /api/faqs (Ask question)
- PUT /api/faqs/:faqID (Answer question)
11. Teacher Management:
- POST /api/teacher/signup (Teacher sign up)
- PUT /api/teacher/:id (Update teacher info)
- POST /api/teacher/courses (Create course)
- PUT /api/teacher/courses/:courseID (Update course info)
- DELETE /api/teacher/courses/:courseID (Delete course)
- POST /api/teacher/sessions (Create session)
- PUT /api/teacher/sessions/:sessionID (Update session info)
- DELETE /api/teacher/sessions/:sessionID (Delete session)
- POST /api/teacher/quizzes (Create quiz)
- PUT /api/teacher/quizzes/:quizID (Update quiz info)
- DELETE /api/teacher/quizzes/:quizID (Delete quiz)
- POST /api/teacher/exams (Create exam)
- PUT /api/teacher/exams/:examID (Update exam info)
- DELETE /api/teacher/exams/:examID (Delete exam)
- POST /api/teacher/homework (Assign homework)
- PUT /api/teacher/homework/:homeworkID (Update homework info)
- DELETE /api/teacher/homework/:homeworkID (Delete homework)
12. Admin and Manager Management:
- POST /api/admin/signup (Admin sign up)
- POST /api/manager/signup (Manager sign up)
- PUT /api/admin/:id (Update admin info)
- PUT /api/manager/:id (Update manager info)
- POST /api/admin/roles (Create role)
- PUT /api/admin/roles/:roleID (Update role)
- DELETE /api/admin/roles/:roleID (Delete role)
- POST /api/admin/notifications (Send notification)
Laravel
انا عملت علي منصه مشابه للاتي تطلبها سوف ارفق لك صور لها يمكنك الاطلاع عليها في حال عجبتك الصور تواصل معي ويمكن ان اعطيك مستخدم لطالب ومستخدم لمعلم لكي تستطيع ا...
صباح النور احمد اسعد الله اوقاتك،، قرأت القائمة الطويلة الي وضعتها، فهمت اجزائها والمطلوب في التطوير لبناء النظام، هل ممكن نفوت في مقابلة عمل ومناقشة التفاصيل و...
السلام عليكم مرحبا اخي يمكنك مراسلتي من أجل المطلوب. سنستخدم Laravel Livewire. وقاعدة البيانات. PostgreSql. او mySql. شكرا
السلام عليكم ورحمة الله وبركاته، أهلا وسهلا أستاذ أحمد هل تبحث عن مبرمج ومطور مواقع الويب هل تريد تجهيز لوحة تحكم موائمة ومتوافقة مع كل الشاشات هل تريد تصميم خا...
السلام عليكم اطلعت علي المطلوب ولدي خبرة باستخدام لارافيل يمكنني تنفيذ المنصة التعليمية وتطبيق كافة الصلاحيات التي تحتاجها كما لدي تصميم جاهز للوحة التحكم قمت ب...
السلام عليكم اطلعت علي الموقع المرفق ويمكنني تنفيذ المطلوب حيث أن لدي خبرة كبيرة باستخدام laravel framework ما ستحصل عليه: 1- لوحة تحكم خاصة بالادمن لكي تستطيع ...
السلام عليكم معاك محمود مبرمج ومطور مواقع وتطبيقات هاتف ، لقد اطلعت على تفاصيل العمل بدقة ، استطيع انجاز العمل بجودة عالية وتصميم احترافى مميز شامل، تصميم الموق...
السلام عليكم أستاذ انا مروة سعيد مهندسة برمجيات اعمل كـ Full Stack Developer , و لقد قرأت متطلباتك جيدا واستطيع تنفيذ طلبك فقد عملت ع الكثير من المشاريع المختلف...
السلام عليكم. انا web developer عندي خبره 5 سنوات استخدم php laravel اشتغلت علي مواقع تعليميه متعدده وعندي خبره ممتازه في هذا النوع من المنصات التعليميه, كما سأ...
سلام عليكم مع حضرتك اسلام Php Laravel developer اشتغلت ع مشروع ادارة مدرسة من اول تسجيل الطلاب في الصفوف والامتحانات علي الموقع وتسجيل اولياء الامور والمدرسين و...
bonjour je suis ingenieur en info et jai une grande experience en laravel contact moi pour commencer le projet
عزيزي العميل، أنا متاح حالا وجاهز للتفرغ الكامل لهذا المشروع. أنا مطور واجهات امامية و اعمل كمدير مشاريع لدي أكثر من 5 سنوات من الخبرة