IMCourse: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
No edit summary   (change visibility)
 
(52 intermediate revisions by the same user not shown)
Line 1: Line 1:
=. Introduction=
=. Introduction=
==. Scope==
==. Scope==

IMCourse is a non-profit educational institution to improve personal skills. In IMCourse, we are taking care of people’s leisure times. All they need to do is register our site, give their information to us and enroll courses. After that, they attend classes and enjoy one of them. When they give their special times, they will learn new skills. Students will enter the exams and they can check their status online. For these purpose we will create a user friendly website and in the website we will give information about courses. We want to reach many people without consider their ages. The most important thing is that we provide we can serve all age groups at the same time. Also there will be android application for both students and instructors because time is the most considerable thing in today's world. People can reach their account with our android application in everywhere easily.
*IMCourse is a non-profit educational institution to improve personal skills. In IMCourse, we are taking care of people’s leisure times. All they need to do is register our site, give their information to us and enroll courses. After that, they attend classes and enjoy one of them. When they give their special times, they will learn new skills. Students will enter the exams and they can check their status online. For these purposes, we will create a user friendly website to allow people to take courses. Before they take the courses, they can read the detailed explanation of courses. In this senior project, our goal is to reach as many people as possible without considering their ages. The most important issue is that we are planning to provide all of the courses for each age groups at the same time. Moreover, there will be android application for both students and instructors because the time is the most considerable issue in today's world. People should easily reach their account and learn the information about themselves in everywhere with their own android application.


==. Objective==
==. Objective==
In today's world, people cannot have an extra time for their social life because of daily routine. Therefore people need a platform to deal with this. As IMCourse, our goal is to handle this as soon as possible and present new social areas for people. We will create different courses to appeal different kind of students. This project should be specific, measurable, achievable, realistic and time scaled. This website will increase the interaction between different age groups and it includes multiple social activies. If we look at the process, the project will be completed and delivered in 9 months.
*In today's world, people cannot have an extra time for their social life because of their daily routine. Therefore people need a platform to deal with this. As IMCourse, our goal is to handle this as soon as possible and present new social areas for people. We will create different courses to appeal different kind of students and people. They will just need to search the courses which are in our website. After they find the course which they want to take, they just need to register our website. This project should be specific, measurable, achievable, realistic and time scaled. This website will increase the interaction between different age groups and it includes multiple social activies. If we look at the process, the project will be completed and will be delivered in 9 months.

=. Technical Details=

*In this part, we want to explain the platforms and languages which we used while we are making our senior project.

*'''Platforms:'''
**MySQL Workbench
**Microsoft WebMatrix3
**Android Studio

*'''Languages:'''
**HTML5
**JavaScript
**CSS3
**PHP
**jQuery
**MySQL
**Java

=. Gantt Chart=

[[File:GanttChart.png]]


=. Weeks=
=. Weeks=
Line 67: Line 90:


==. Week VIII==
==. Week VIII==

*After students login into the webpage, students page will appear, students page html and css was finished.
*When the users login into the webpage as a instructor, instructors page will appear, instructors page html and css was finished.
*When the users login into the webpage as a admin, admin page will appear, instructors page html and css was finished.


==. Week IX==
==. Week IX==

*Login and Register php was edited.
*Database was edited and updated, some changes was done to make it more clear.
*Android application main page and students page layout was created.


==. Week X==
==. Week X==


*Students, instructors and admins php was created.
=Database=
*Some php pages was created for students page. These are:
**addcourse.php
**checkisadmin.php
**checkisinstructor.php
**checkisstudent.php
**checklogin.php
**connect.php
**getattandence.php
**getcourses.php
**getinstructordetail.php
**getinstructorlist.php
**getstudentcourses.php
**getvideo.php
**removecourse.php

==. Week XI==

*We edited some parts of the code.
*We made some changes on the css part of our website.
*Some php pages were created for the website.
*The php pages which were added this week:
**addAttendance.php
**getCourseDetails.php
**getCourseStudents.php
**getCourseVideoDetails.php
**getInstructorCourses.php
**getStudentList.php
**removeAttendance.php
**updateVideo.php
**adminPage.php
**instructors_page.php
**students.php
*After these php pages, we completed our website side of our project as we planned at the beginning of the term.

==. Week XII==

*After we finished website side of our project, we focused on the android application side in this week.
*We added new methods to run our application.
*We edited some old parts which we made in past weeks.

==. Week XIII==

*We added new functions and edited some parts.
*In the middle of the week, we also finished android application side of our senior project as we planned at the beginning of the term.
*We revised our codes and made our tests for the remainder of the week.
*We uploaded our project to the FTP server.

=.Database=

*Student table holds the information of students' name, surname, gender, birthday, email, secret question, and answer.

*Instructor table holds the information of instructors' name,surname,gender,branch, and email.

*Course table holds the information of courses' name, instructor id, maximum capacity, and beneficial video urls.

*Admin table holds the information of admins' name, surname, and email.

*Student_course table holds the information of student id, course id, and the attendance. It is especially designed for the attendance. When students want to learn their attendance status, the information comes from this table.

*User table holds the information of users' username, password, user type and the user information. It is especially designed for the authentication in the login page.

*Location table holds the information of the courses' location.

*Time table holds the information of the courses' time.


Entity-Relationship Diagram
'''[[Entity-Relationship Diagram:]]'''


[[File:EER.png]]
[[File:eer.jpg]]


=Web Site=
=.Web Site=
Our main goal is to create a website which is unique and user friendly.
Our main goal is to create a website which is unique and user friendly.


Line 85: Line 180:
[[File:Use_Case_Login.png]]
[[File:Use_Case_Login.png]]


==Main Page==
==.Main Page==


We try to make this page clear and simple because the first impression is important for users and they want to find what they search rapidly.
We try to make this page clear and simple because the first impression is important for users and they want to find what they search rapidly.
Line 91: Line 186:
[[File:Mainpage.png]]
[[File:Mainpage.png]]


==Courses==
==.Courses==


As IMCourse, we have eight different courses category. Each of them has six different subcategories in itself.
As IMCourse, we have eight different courses category. Each of them has six different subcategories in itself.


===Arts===
===.Arts===


[[File:Arts.png]]
[[File:Arts.png]]


===Music===
===.Music===


[[File:Music.png]]
[[File:Music.png]]


===Sport===
===.Sport===


[[File:Sports.png]]
[[File:Sports.png]]


===Language===
===.Language===


[[File:Lng.png]]
[[File:Lng.png]]


===IT===
===.IT===


[[File:IT.png]]
[[File:IT.png]]


===Cook===
===.Cook===


[[File:Cook.png]]
[[File:Cook.png]]


===Beauty===
===.Beauty===


[[File:Beauty.png]]
[[File:Beauty.png]]


===Agriculture===
===.Agriculture===


[[File:Agriculture.png]]
[[File:Agriculture.png]]


==Register Page==
==.Register Page==


[[File:Screenshot 2015-03-13 12.27.44.png]]
[[File:Screenshot 2015-03-13 12.27.44.png]]


==Login Page==
==.Login Page==


[[File:Screenshot 2015-03-13 12.32.19.png]]
[[File:Screenshot 2015-03-13 12.32.19.png]]


==Contact Us Page==
==.Contact Us Page==


[[File:Screenshot 2015-03-13 12.50.16.png]]
[[File:Screenshot 2015-03-13 12.50.16.png]]


==FAQ Page==
==.FAQ Page==


[[File:Screenshot 2015-03-13 13.09.45.png]]
[[File:Screenshot 2015-03-13 13.09.45.png]]


==.Admin Page==
=Android=


[[File:Admin_Page.jpg]]
In our Android Application, users will see the courses which they joined in the website.


==.Student Page==
Application will be similar to our website but in application side they will only see the courses which they took.


*'''Attendances''':
Only who registered the courses can see their information from the application.
[[File:Student_Page.jpg]]


With the help of the application users can reach their accounts wherever they want while their phones access to the internet


*'''Course Video''':
==Main Page on Mobile App==
[[File:Student_Page2.jpg]]


==.Instructor Page==
When the users click the application the main page will appear and it includes login and register options.

*'''Attendances''':
[[File:Instructor_Page.jpg]]


*'''Course Video Upload''':
[[File:Instructor_Page2.jpg]]

=.Android=

*In our Android Application, people can see the home page and the detailed information of the courses.

*Users can register the courses as they can do in website.

*Application is similar to our website, they can see the courses which they took.

*People who registered the courses can see their information from the application at the same time. For example, they can look their attendance on their application.

*With the help of the application, users can reach their accounts whenever they want while their phones access to the internet. Therefore, they can make changes and update their information.

*Users can look the instructors' information from the application.


==.Main Page on Mobile App==

When the users open the application, the main page will appear and it includes login and register options.


[[File:Main.png]]
[[File:Main.png]]


==Student Page on Mobile App==
==.Student Page on Mobile App==

After users login into the application as a student, the following page will appear and the students can select one of the options. The information will come into the bottom frame.

[[File:Students.png]]

=.Major Problems=

*Problems can occur in every computer science project. We also encountered some problems in both website and android application while we were completing our senior project. The main problems consisted of the implementation of the planned ideas. This especially occurred in the php pages of the website. Furthermore, this happened while we were implementing the methods for android application. One of the other problems was the css part of the website. We edited some parts of the css to make our website better. While we were making these changes, some parts of the website also changed; therefore, we fixed or changed the css and code parts completely. We encountered these problems many times, however; we found the solution to these problems in some way.


=.Risk Management=
After they login into the application as a student the following page will appear and the students can select one of the options and information will come into the bottom frame.


*According to the expectations which we made at the beginning of the term, we finished our senior project on time.. If each person did not study 10 hours a week, the delivery time could be late.
[[File:Student.png]]
*We have 3 group members, it could be risky, if one of the group members gave up.
*If the database crashes, we could lose the information which we keep in database.
*Bugs in the project can cause some problems.
*We could encounter some problems in the implementation of the methods; therefore, we identified a procedure to perform in these situations.
*In our project, codes are written by different programmers and it could be risky in terms of compatibility.
*We made identification and assessment about our senior project's process at the beginning of the term .
*We argued about the potential risks which we can encounter during the coding process; therefore, we managed the risk plan.
*We revised our codes regularly to protect the loss of data. Therefore, we planned some selected security controls to evaluate effectiveness and compatibility between the new and old parts of the project.


=Team Members=
=.Team Members=
Cansu Ozdikicioglu - Web Site & Android Application
Cansu Ozdikicioglu - Web Site & Android Application


Line 172: Line 310:
Mustafa Yumurtaci - Database Developer
Mustafa Yumurtaci - Database Developer


[[File:Imc_team.jpg]]
[[File:IMG 1854.JPG]]

Latest revision as of 03:17, 17 May 2015

. Introduction

. Scope

  • IMCourse is a non-profit educational institution to improve personal skills. In IMCourse, we are taking care of people’s leisure times. All they need to do is register our site, give their information to us and enroll courses. After that, they attend classes and enjoy one of them. When they give their special times, they will learn new skills. Students will enter the exams and they can check their status online. For these purposes, we will create a user friendly website to allow people to take courses. Before they take the courses, they can read the detailed explanation of courses. In this senior project, our goal is to reach as many people as possible without considering their ages. The most important issue is that we are planning to provide all of the courses for each age groups at the same time. Moreover, there will be android application for both students and instructors because the time is the most considerable issue in today's world. People should easily reach their account and learn the information about themselves in everywhere with their own android application.

. Objective

  • In today's world, people cannot have an extra time for their social life because of their daily routine. Therefore people need a platform to deal with this. As IMCourse, our goal is to handle this as soon as possible and present new social areas for people. We will create different courses to appeal different kind of students and people. They will just need to search the courses which are in our website. After they find the course which they want to take, they just need to register our website. This project should be specific, measurable, achievable, realistic and time scaled. This website will increase the interaction between different age groups and it includes multiple social activies. If we look at the process, the project will be completed and will be delivered in 9 months.

. Technical Details

  • In this part, we want to explain the platforms and languages which we used while we are making our senior project.
  • Platforms:
    • MySQL Workbench
    • Microsoft WebMatrix3
    • Android Studio
  • Languages:
    • HTML5
    • JavaScript
    • CSS3
    • PHP
    • jQuery
    • MySQL
    • Java

. Gantt Chart

. Weeks

. Week I

  • The main page of IMCourse was created.
  • The social media pages were created to spread easily.
  • Footer and was created for pages.
  • Logo was determined and designed.

IMCourse Logo

  • Wiki information was created.

. Week II

  • Database was created.
  • The images for all pages was selected and the synchronization was provided.
  • Css and JQuery of contact us page was done.
  • Mail sync of contact us page was researched.
  • Wiki information was updated.

. Week III

  • The implementation of accordion style was researched.
  • JQuery of accordion style was learned.
  • The style of accordion was used in FAQ page.
  • The shortcut buttons was created. This provided fast switching between pages.
  • Wiki information was updated.

. Week IV

  • The shortcut buttons was added all pages.
  • PHP was created to be member of IMCourse.
  • Login page was worked with PHP and Database.
  • Wiki information was updated.

. Week V

  • The page of instructors was created and we determined instructors for our special courses.
  • Background images was applied for all pages.
  • Wiki information was updated

. Week VI

  • The details of courses was determined and the css of courses pages was finished.
  • Forget my password page was created.

  • The student page details are created.
  • The php of mailing was created.

. Week VII

  • The course pages was finished with all css, information and details.
  • Register page php was finished.
  • Worked on the mailing php.
  • Android application of website was started.

. Week VIII

  • After students login into the webpage, students page will appear, students page html and css was finished.
  • When the users login into the webpage as a instructor, instructors page will appear, instructors page html and css was finished.
  • When the users login into the webpage as a admin, admin page will appear, instructors page html and css was finished.

. Week IX

  • Login and Register php was edited.
  • Database was edited and updated, some changes was done to make it more clear.
  • Android application main page and students page layout was created.

. Week X

  • Students, instructors and admins php was created.
  • Some php pages was created for students page. These are:
    • addcourse.php
    • checkisadmin.php
    • checkisinstructor.php
    • checkisstudent.php
    • checklogin.php
    • connect.php
    • getattandence.php
    • getcourses.php
    • getinstructordetail.php
    • getinstructorlist.php
    • getstudentcourses.php
    • getvideo.php
    • removecourse.php

. Week XI

  • We edited some parts of the code.
  • We made some changes on the css part of our website.
  • Some php pages were created for the website.
  • The php pages which were added this week:
    • addAttendance.php
    • getCourseDetails.php
    • getCourseStudents.php
    • getCourseVideoDetails.php
    • getInstructorCourses.php
    • getStudentList.php
    • removeAttendance.php
    • updateVideo.php
    • adminPage.php
    • instructors_page.php
    • students.php
  • After these php pages, we completed our website side of our project as we planned at the beginning of the term.

. Week XII

  • After we finished website side of our project, we focused on the android application side in this week.
  • We added new methods to run our application.
  • We edited some old parts which we made in past weeks.

. Week XIII

  • We added new functions and edited some parts.
  • In the middle of the week, we also finished android application side of our senior project as we planned at the beginning of the term.
  • We revised our codes and made our tests for the remainder of the week.
  • We uploaded our project to the FTP server.

.Database

  • Student table holds the information of students' name, surname, gender, birthday, email, secret question, and answer.
  • Instructor table holds the information of instructors' name,surname,gender,branch, and email.
  • Course table holds the information of courses' name, instructor id, maximum capacity, and beneficial video urls.
  • Admin table holds the information of admins' name, surname, and email.
  • Student_course table holds the information of student id, course id, and the attendance. It is especially designed for the attendance. When students want to learn their attendance status, the information comes from this table.
  • User table holds the information of users' username, password, user type and the user information. It is especially designed for the authentication in the login page.
  • Location table holds the information of the courses' location.
  • Time table holds the information of the courses' time.

Entity-Relationship Diagram:

.Web Site

Our main goal is to create a website which is unique and user friendly.


Here is the Use Case Diagram for the our website.The image shows the relationship between the web site and the users and what can they do.

.Main Page

We try to make this page clear and simple because the first impression is important for users and they want to find what they search rapidly.

.Courses

As IMCourse, we have eight different courses category. Each of them has six different subcategories in itself.

.Arts

.Music

.Sport

.Language

.IT

.Cook

.Beauty

.Agriculture

.Register Page

.Login Page

.Contact Us Page

.FAQ Page

.Admin Page

.Student Page

  • Attendances:


  • Course Video:

.Instructor Page

  • Attendances:


  • Course Video Upload:

.Android

  • In our Android Application, people can see the home page and the detailed information of the courses.
  • Users can register the courses as they can do in website.
  • Application is similar to our website, they can see the courses which they took.
  • People who registered the courses can see their information from the application at the same time. For example, they can look their attendance on their application.
  • With the help of the application, users can reach their accounts whenever they want while their phones access to the internet. Therefore, they can make changes and update their information.
  • Users can look the instructors' information from the application.


.Main Page on Mobile App

When the users open the application, the main page will appear and it includes login and register options.

.Student Page on Mobile App

After users login into the application as a student, the following page will appear and the students can select one of the options. The information will come into the bottom frame.

.Major Problems

  • Problems can occur in every computer science project. We also encountered some problems in both website and android application while we were completing our senior project. The main problems consisted of the implementation of the planned ideas. This especially occurred in the php pages of the website. Furthermore, this happened while we were implementing the methods for android application. One of the other problems was the css part of the website. We edited some parts of the css to make our website better. While we were making these changes, some parts of the website also changed; therefore, we fixed or changed the css and code parts completely. We encountered these problems many times, however; we found the solution to these problems in some way.

.Risk Management

  • According to the expectations which we made at the beginning of the term, we finished our senior project on time.. If each person did not study 10 hours a week, the delivery time could be late.
  • We have 3 group members, it could be risky, if one of the group members gave up.
  • If the database crashes, we could lose the information which we keep in database.
  • Bugs in the project can cause some problems.
  • We could encounter some problems in the implementation of the methods; therefore, we identified a procedure to perform in these situations.
  • In our project, codes are written by different programmers and it could be risky in terms of compatibility.
  • We made identification and assessment about our senior project's process at the beginning of the term .
  • We argued about the potential risks which we can encounter during the coding process; therefore, we managed the risk plan.
  • We revised our codes regularly to protect the loss of data. Therefore, we planned some selected security controls to evaluate effectiveness and compatibility between the new and old parts of the project.

.Team Members

Cansu Ozdikicioglu - Web Site & Android Application

Halil Ibrahim Burak Gumus - Web Site & Android Application

Mustafa Yumurtaci - Database Developer