User:Doanta3426/sandbox

INTRODUCTION This is an educational project helping students to post their questions, look for answers for their questions in Geometry, Algebra1, Algebra2. User can access the application by clicking on the following link. https://2-dot-project1sb3426.appspot.com

CODE DESCRIPTION First, the login.html file is called and loaded up for user to login using Facebook login. Then user information is sent to Project1dtaServlet.java and put into UserInfo kind. After that user is connected to welcome.jsp, which is the main page of the application. There are 3 topics: Geometry, Algebra1, Algebra2. Here, user is able to post a question, answer a question and retrieve existing questions from the datastore for a selected topic. If user posts a question, the question is sent to Project1postServlet.java and put into Question kind. If user retrieves a list of questions, Project1postServlet.java is called and questions are displayed. If user would like to answer a question from the list, he/she clicks on a question, a new window pops up by calling the Project1answerServlet.java internally from a javascript function, popitup.

DASHBOARD Answer Entity Question Entity UserInfo Entity

DEMONSTRATION OF THE WORKING APPLIC ATION First user login the application by clicking on the “Log In” button: After login, the “Log Out” button shows up and shows the user name. Then the user must provide their name, email address and grade in order to use the application. Now user clicks on the “Submit” button to use the application. There are 3 topics user able to post, answer questions. They are Geometry, Algebra1, Algebra2. First of all, user selects a topic. Let’s retrieve questions by selecting the Unanswered Question from the dropdown list. Then hit “Submit”. Now user will see a list of question for Geometry topic. To answer a question, user clicks on the question he/she wants to answer. A new window pops up for the user to answer the listed question. The user enters his/her answer and hits Submit on the new window, then closes the new window. Now, let’s check the datastore for the answer of the selected question above. To post a question, user selects the “Post” from the dropdown list, then types a question in the textarea and hits Submit. Now let’s select the Unanswered Question option again. The above question is listed. If user would like to post a question, answer a question, retrieve questions for other topics. They work the same as of the Geometry tab. First, user selects a topic, then selects an option from the dropdown list.

MONETIZATION Again, this project is a social application for educational purpose. It is not used to make money, but user can make some distribution to support the service.

JAVA CODE CLASSES

//This servlet is used to collect user information @SuppressWarnings("serial") public class Project1dtaServlet extends HttpServlet { String grader = req.getParameter("grader");                   //collect user’s grade String username = req.getParameter("usernamebox");//collect user’s name String email = req.getParameter("emailbox");                //collect user’s email Entity userInfo = new Entity("UserInfo");                        //create UserInfo kind }

//This servlet is used to collect the answer of a question. @SuppressWarnings("serial") public class Project1answerServlet extends HttpServlet { String question = req.getParameter("question");   //the selected question String answer = req.getParameter("answer");         //an answer for the question String type = req.getParameter("type");                   //topic Entity answers = new Entity("Answer");                    //create Answer kind }

//This servlet is used to post, retrieve question(s) @SuppressWarnings("serial") public class Project1postServlet extends HttpServlet { String category;      //collect the tab name String type;              //collect the option String content = "";//collect the question String tab;               //collect the selection of a tab String element;      //collect the element in html ArrayList ulist = new ArrayList; //collect a list user information Entity question = new Entity("Question"); //create Question kind }

ISSUES: My laptop suddenly shut down the night before due date and could not turn back on. I opened up the laptop and found out a ROM (on the main board) which is used to connect to the power line burned. Due to this problem, I have to stop and submit whatever I have. Working: 1.	User is able to select a topic. 2.	User is able to post a question, answer a question, display a list of questions in the datastore. Known issue: 1.	If user selects Answered Question from the dropdown list, then hits Submit, an 500 error happens. 2.	The app is added to Facebook, but the Submit button is out of the screen.