 Good morning everybody, I am Jeff Hunter from the Education 42 and you can see I am the biggest family of interns. First let me introduce our mentors, our project leader Ishan Sodhi, Anup Sir, Deepak Sir, Pratik Sir, Anjini Ma'am and Serozadhi and Nitin Sir is also Mr. Ishan Sir. The purpose of Education Portal is to provide a wide range of content like videos, the question banks and also the written content uploaded by the teachers to all the students and the teachers community of all the colleges where sometimes some students or some teachers may not have those resources that are available here. And the purpose is to address the critical subsets of the important issues and adopting an approach to address these issues by using information and communication technology, that is the web. So this web portal that has been developed is a one-stop learning place. With the help of videos and the written content, the students can understand or take the nuances, grasp them and then test them through the questionnaire or the quiz that is provided here. The whole project, we have divided it into seven modules. What happened is there is frontend and quiz module, there is the backend, API design and the database management and the video management module. The user management that is the main thing that restricts the content and defines the access level for various kinds of users. And the forum management that is a way to speak that contributes to our web portal and resource management, yes, that is the written content, that management module and then on screen later to provide the content then and there on the web portal. So this is the frontend, this is the home page, this is the welcome page of our portal. This is the administrator page that you are seeing. You can see the admin tab and the editorial tab. So we have taken a snapshot of all the features for us to show you. But through Zoomla we have defined access levels so as to restrict for guest users and all types of users like students and teachers. So this is the features of our frontend design. So we have used class modules already Zoomla provide template but we have edited that so that all the external things that we have added can match or can be integrated easily to our template. And these are Web 2.2, Web 2.2 standards and W3 standards have been complied. And the quiz that one of the key features of our web portal has been inspired from the BitSat examination that conducted by the Birla Institute. And then another feature of our whole frontend is that it is independent from the backend. Application programming interface has been acting as a middleware between the frontend and the backend. So even if someday the database changes or our whole package goes from MySQL to Oracle or any other even ODBC comes. So our frontend code will never change. So that's the use of API. And the content flow management that I would like to mention over here is that we have all types of content, videos, written material and even the questionnaires. So it is always so that no discrepancy comes into our database. It always goes from the feature to a moderator which reviews it and then into the database. So it is the content flow management. And like we have also handled one of the lacking or limitations of Zoomla that redirections of invalid links. So like 4 or 4 errors have been handled here. So this is the upload page. What happens over here, this form you can see. The user can upload at least two types of content. It can be a question or a file. Question can be a multiple charge question or a multiple or a descriptive type question. We can also add images as many images we want. Those tags can be inputted anywhere in a question or an option. There are availability of any number of options. And this is the file upload link. It is similar to our question link but you can see every file is mapped with a keyword. Our whole web portal, a web portal like let's say we have implemented this C programming portal. This is governed by a mapping of keywords. Keywords are the sub topics in these bigger topics. Like we have keywords in C programming like variables, data type, number system. So every file, every question is mapped with a subsequent number of keywords. Some are separated keywords like let's say a question is of pointers, data type. All types of keywords contribute to that question. So it is every question, every content is mapped with a keyword. And we also give the creditor can add any number of creditors like say a PDF file or a tutorial or a project that is being uploaded. The uploader can give credit to all the contributors to that project. Now this is the main feature, the quiz module. My friend Ankit Singh Ania will take over. Hello everyone. This quiz as mentioned by Jay Sancho. It is inspired by a bit, this type exam. The key features of this is the mark for review button. The key features is the mark for review button. This, when you click this, the listing here will become as read. So that if a student has any doubt in a particular person and wants to review it later, he can do that. Secondly, there is a timer. We have implemented a timer of maximum length of one month. So data is large, so the timer has to be of that subsequent amount. Also, we have implemented some features and timers so that if a user changes the system time of his computer, the quiz will stop there. And the score will be distributed to him. This is the page of the content. When the teacher is uploading a question, it goes to a reviewer. So reviewer has this content. He has to see the question, the code, whether it is intended or not, the option, whether the answer is correct or not. And he can see the creator too, who has actually uploaded the file or the question. And then he has four options for this question, this particular question. Either he can directly see and mark it as correct so that this question is available in the database for the test or even the file. Second is edit. If there is some need of edit, that can be done. The I cannot edit button is for, sometimes there may be discrepancies in a question. A particular reviewer would like his fellow to answer this. So he can click on this. Delete a question if there is a scrap coming in through a form. So that can be done. Now this is start. This start tell us the amount of questions per keyword. So like arrays, we have six questions. Then general keyword 162.196. So now explaining quiz module in detail. We have three types of quizzes by time, by number of questions and by both. The quiz creators, guests and registered users. The advantage to a registered user is that there will be no repetition of questions to him. And in future if he wants to clear his loss, we have provided a method for that. And quiz customization is based on the keywords and the complexity level. If a user feels to give an easy test in the beginning of his education time. So he can offer the easy test or it has a multiple selection thing. So he can go for broader aspect. Now the actual quiz. There will be instruction page at the starting where the quiz won't actually start. But then his all inputs are done. Then timer as I already said. Then user can easily access any question by the list that is provided. He clicks on it and randomly he can access the question. He has next and previous button also. Mark for review is already explained. Color scheme for the current question, answered question, unanswered question and marked question. This is very important because the list that is been shown has to somehow show the user that what questions are unanswered and what questions are still to be reviewed and on. Then we have a count of unanswered questions at the present displayed on the top. And after the submission, after the quiz is ended, either by time or by his own, the score will be generated and shown to him and later he will be given the correct answer, whatever the option he has marked and the explanation if the explanation is there in the database, that will be shown up. And still if the user is not still, he wants that the question has to be reviewed again by the reviewer. So he can submit the question for reviewing it again. Now content flow, content management, there are, as explained, there will be questions and files. Files can be inputted by two types. Either you upload a file, that can be a dog file, PPT file, anything. Or else you can create a content by online editor that we have provided in our portal. Each file again will be mapped with this keywords and also we will have credits given to creators and all and questions with multiple images as already explained. The directory structure is very important here. We have listed down the files of a particular user in a particular directory or by his user ID. So the directory structure goes as a root folder content and then the type of the file, maybe it is a tutorial assignment or project and then the user ID of the person who has submitted it, uploaded it and then the type with the resource ID with the extension of the file. This makes our file system uniform and there is no chance of discrepancy in the file name. You can directly match with the resource. Okay, now the workflow. The questions that is uploaded by the teacher using the form of the upload first goes to the reviewer. The reviewer reviews it by the content that is shown and then it is made available to the quiz. Now once it is available to quiz, students still can mark it for review again and then again this question will not appear in the quiz and will go to the reviewer page. The reviewer will review it again and once it is twice reviewed, the question won't be marked again and again for review. So that if there is a good question like we already, we just see the answer and say no this is wrong. So that can be over here. Files, same thing, the teacher and the reviewer and the frontend. Files, frontend we have categorized into three parts. Assignment tutorials and projects. Assignments and tutorials are again by search by keywords, multiple keywords selection and projects. Of course we cannot map it with any keywords. Project is a project. So you have a listing of projects what is available in the portal. Good morning everybody. My name is Shobesh Shavasav and I am responsible for managing the database for the portal along with my friend Anamika. Now that we have designed an application programming interface to handle the database. This is done so as to prevent any direct access from the frontend to the database. This is important so as to increase the security of the database. As you can see for each table we have created a class and the table can be accessed only with the help of the object of the class. Also for each table we have created the basic thread for functionality that is insert, update, delete, etc. One important thing is that we are using the connection string. We are obtaining the connection string from the configuration files of Zoomla. Now as according to the requirements that are given to us, we have to create separate portal for separate subject. Now this can be easily facilitated if you obtain the connection string from the configuration files of Zoomla. We can easily change the connection string there and easily obtain two different databases. Also we have a separate set of validations at the level of the application programming interface different from that of the frontend. So we have a multi-layered validation at the frontend as well as the backend. This increases the security level to a very high level. Now a major portion of the APIs that we have designed is the quiz API. The quiz API includes a large number of algorithms such as the question-sectoring algorithms and the result generation algorithms. Also we have maintained logs for all the users. The logs are maintained so as to prevent the repetition of questions in the quizzes. Now there are two types of quizzes. One can be a subtopic specific quiz and the other an overall quiz. The overall quiz being the one in which all the keywords are included, all the subtopics are included. Now there are two logs maintained in the database for a subtopic quiz as well as for an overall quiz. The questions that have appeared in the subtopic quiz can again appear in an overall quiz. But the questions in respective quizzes cannot be repeated. That is the purpose of maintaining the logs. Also as we explained we have the functionality of clearing the logs as in when you require. Also we are maintaining statistics for the questions in the database. The statistics include the number of times a particular question has appeared in the database and the number of times it has been correctly answered. These statistics are purposely for the administrators so as we can moderate the question later on as in when we need. Now let us get on to the algorithms that are involved in fetching the questions. As Ankit said there are three ways in which a quiz can be generated by time, by number and by both. We have designed two algorithms that are involved in the generation of quiz. One algorithm is for the generation using time and number separately and one different algorithm for both of them simultaneously. The inputs for this algorithm are the keywords which can be multiple, complexity levels again multiple and the time or the number whatever be the case as included by the user. In this case we are taking the example of the number of questions. The algorithm is designed so as approximately equal number of questions are selected from all the keywords and their corresponding complexity levels. This is done by dividing the total number of questions equally between the keyword and the complexity pairs and then a sort of a quota is allotted to each of the keyword complexity pairs depending on the user input and the questions are allotted depending whether the quota has been exhausted or not. If for a particular keyword complexity pair the quota is exhausted then no more questions are allocated. Now in case of insufficiency of questions the remaining keyword complexity pairs for which questions are still available we can use them to get additional questions. The same algorithm is applicable for the time generation as well. Now this is the second algorithm in which we generate the quiz using time and number simultaneously. Here the inputs include the keyword complexity levels, the time as well as the number as well as the number of questions. Here we have to generate a quiz which provides a certain number of questions as given by the user and they should span a period of time that is also given by the user. Now this algorithm makes use of the principle of oscillation about an average value so as to generate the number of questions that is required in the quiz. Firstly calculate the average time that per question that is required. Then you serve the database for a question that matches that average time. If that average time is not found then suitable incrementation and decrementation is required. This process is repeated for each question. The average is calculated again and again and you have to maintain the average by oscillating about the average on both sides. If at any stage you find the average can no longer be maintained then the user is told that such a quiz cannot be generated. Otherwise an exact quiz containing the exact number of questions spanning the given time period is generated. These are some of the algorithms that we have used in the database management. Now my friend Raghuvir would deal with the video. Good morning everyone. Myself Raghuvir, me and my teammate Kanika Goyal have been working on the video content management in the web portal. As everyone knows videos are the most important part in whatever resources you get to learn to get to learn something. Whenever user tries to learn something he doesn't go through the proper books rather he would prefer to watch a video that too by an IIT professor. So the basic idea of videos was to maintain this content properly so that the user doesn't waste much time on going through the larger videos. For this purpose we have used two resources basically. The first one is the RedFi streaming server. The streaming server has been used because the main feature of this video module is that you don't need to get to see the entire video when you search for something. Suppose you want to search for a video only on pointers then not the entire video comes out to you in your playlist rather than that. We have taken the paint to mark it according to the keywords like where exactly the topic is being started in the video and how long it's been so long. So according to that data that is being searched from the database we'll show the video as a separate video not as a part of the video. So for that purpose we had to use the streaming server because the seek time and the duration can be maintained only in a streaming server as everyone knows. But the futerscope again involves the HTTP over RTMP. And for that purpose we used a flow player and opens up a ZWF player which gets the stream and plays it for the player. And as you go for the basic features and basic and attractive features of the thing, playing video from the seek time as specified. The user won't get to know that he is seeing to a different video. He'll see it as a complete different video that I have not done as a part of the video. So it starts only for a particular topic and for that particular topic the video will be shown. And the dynamic playlist will be created. Suppose the user searches for keyword pointers. All the videos related to pointers like generic pointers, functional pointers, other than that all the algorithm will be listed. This will be fetched dynamically from the database. And an on page note maker. This was an idea from my teammate Tanika Goyal. Like whenever a student tries to watch a video and try to learn something. He wants the pen and paper to write down the important points when he watches the video. So we thought of providing an on page note so that he can write the notes when they're in there. And one click download button so that he can download the entire text file that he has created while watching the video as it experiments his local system. And the star rating for the videos. This has been divided into three points of OK, good index for three points star rating. And this star rating has been used for the fetching for the way the videos have been fetched. Suppose on the keyword, on the pointer keyword, there are around 100 videos. The videos will be fetched in the ascending or descending order of the star rating. The most liked video will be shown to the user first so that the user gets a good feeling of what's in the video. In the hierarchical preview, other than the traditional keyword search and textbook search for the users that have been provided in many sites. We provide the user with the available preview of whatever being hierarchically substantiated into the things. Like C programming database are two different things and under that the parents and child have been divided properly. And this has been manually done by the team of video. And there has been much, much, much manual work involved in this and I appreciate all of my teams are doing that. And so I'm not going through much technical details of the thing. I'm already submitted to the report so I don't want to bore anyone over here. We'll discuss about the future scope after we discuss with the forum thing. I would like to call up on Neha Singhal to explain a little. Why? It's how the question comes via forum. The answer is information is to be exchanged. People get to interact with each other. And they get this very solved so that's a quicker way because they don't have to contact the support. And if we contact the editors directly, then that increases the trust factor of the website. So that's why we are integrating forums. Now the forum features. So the non-registered users that are also known as GELS, they are only allowed to view the contents of the forum. No posting. Only the register user can post on the forum. And we have created two forums. One the student forum and the other is called the teachers forum. Which is hidden from the students and the guests. Only the teachers and the editors are able to view the teachers forum. And there is an opportunity of ranking. There is a facility of ranking the user gets depending on the number of posts. And we have integrated chat in the Qnana forum. We have used Qnana for the forum. And we have integrated chat with that. So that is basically a flow diagram. So guests are only allowed to view the forum. While you can register, my email notification is done. And after the log in, we put in the four categories. The student, teacher, editorial board and site admin. The student can, as I already explained, only view the student forum. While the teacher can view both the forums. The editorial board can manage the complete forum. And while the site admin administrator can manage the editors. Can add the editors. Can delete them. We have also integrated videos and posts. You can add them without having to host it ourselves. Like every site gives a unique identifier for each video. So we can put it in the post by inserting the unique identifier. And the video is embedded. So there is an example I have embedded a video of YouTube. So we have also implemented search in the forum. If a user wants to search. So there is also an option of advanced search. The student can search by the keyword, the username. Can find a post from a particular date. Can sort the result. And can jump to any result number. There is an example of chat. So we have implemented a chat. Now I would like to continue with that. The future scope of the whole portal can be of various. As we have five modules. So every module has a so far future development. Like we have uploaded images. So handling of images can be done in a different manner. And even deleting and editing of images can be done. Video search across the different portals. This multiple portals are implemented. Which like we have GRE adapters which can be there. This is just a single form of which. According to time and complexity and number of questions. And even the tutorials and videos can be shown to him. Like an artificial intelligence. Like a student has given a clue. And he has done fairly or not up to the mark on some of the topics. Then those tutorials and videos can be automatically suggested to him. And G-translate or Google-translate for other Indian languages. So that we can give our portal to a vast community. And help everyone. And a gas-based implementation of the forum will do a fast implementation of our web portal. And this is the future scope for the video. That is STTP over RTMP can be used for video streaming. As used by sites like YouTube. And a personal log can be maintained just like this for the video. So that favorite can be shown. And customized playlist so that the user can watch the videos that he has previously watched.