8000 GitHub - KocKaan/JAPKANJI
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

KocKaan/JAPKANJI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JAPKANJI

The client and advisor Amaha Ayaka is currently teaching introduction level Japanese in the Japanese Culture Foundation. She explained to me that the students in her class are having problem memorizing the kanji words, which is more complex alphabet than normal 26 letter Hiragana. She told me that when she teaches them the kanji letters student don’t have problem understanding the meaning but after one day they forget the letter or stroke order. She told me that this occurs because the student are young thus does not study at home. She asked for a computer game that challenges students ability to memorize kanji’s.

As the user of this educational software will be young students I suggested creating a game which involves competition which hopefully create ambition among students. This could be done by point mechanism and rewarding. In addition to that every question has time limit based on its level of hardness. We gathered at a café and Miss Ayaka stated that she liked the solution she also asked for a teacher interference which allows her to enter new kanji beside the pre-established kanji questions. The detail of the meeting is at Appendix.

  1. At the home page there should be 2 types of user accepted (student and teacher).

  2. The teacher button should lead to four main options: Home, Levels, Questions, Users

  3. The student button should lead two main options: home and game where the game could be selected in accordance to wanted levels by the student. The games should consist of multiple choice and written questions.

  4. Teacher should be able to create, edit and delete questions.

  5. Student could play the game and see his/her result on the table.

  6. Teacher could create as many level as he/she wants.

Technologies That Has Been Utilized

  1. Netbeans 11.1 Used for developer IDE
  2. Java 8 JDK Needed JDK for GlassFish 5.1.0
  3. Java 12 JDK For developing the app
  4. Apache Derby Database Database Server for web Application (storing data)
  5. GlassFish Server 5.1.0 Web Server for publishing web application
  6. JavaServer Faces (JSF) 2.3 UI library for Java Server Faces Free and rich UI components for Java Server faces.
  7. Java Persistence API (JPA) 2.0 Entity classes from the database, and manage transactions. (the default persistence provider for the GlassFish server.)
  8. PrimeFaces UI Components
  9. Enterprise JavaBeans (EJB) 3.1 stateless EJBs with the entity classes and the business logic for the application

Flow Chart - Login

image

Flow Chart - Create/Edit/Delete and View

image

Flow Chart - Game

image

Database Architecture

image

Database Table	   Description	Relations
  1. Levels: The program's question level informations are stored. Level name, Level time and Level order is stored. -
  2. Questions: Information on question is stored. The table consists of level id, question image and text, question types and question point. It has a foreign key relations to Levels table.
  3. Results: Results on user id, question id, Level ID points for that level, answers to the questions and the outcome of the answered questions will be stored.
  4. Users: Users first name, Surname, user Name, password and user type (teacher or student) is stored.

Web Application

While developing the program two wizard has been used.

  • The first wizard is “Entity Classes from Database wizard” With this entity classes has been created.
  • The second wizard is “JSF Pages from Entity Classes wizard”, default web pages has been created.

image

Graphical User Interface - Admin Level

Below there are the HTLM codes for Levels page’s list page. The data and the colons for the Database web component are structuralized like in the example. The graphical side of the program is fairly basic and it meets the need of the client which is stated as basic and user friendly. In addition to that as I expect lots of students will use this program, I added basic sorting algorithms to sort the data that has been created by students. For example it is expected that abundant amount different users will play the first level of JapKanji therefore there will be lots of different points accumulated by different users. At this point by utilizing user friendly sorting boxes the user could select his/her own ID to find his her own result. Furthermore if there are overwhelming data created by that user(by playing multiple levels), the user could double sort: selecting his/her own id and the level that he/ she wants to see.

JSF page: admin user Html Codes

The Graphical User Interface html codes are obtained by prime face as a template. However as shown below these templated are modified and manipulated to be able to use and integrate to our backend java codes.

image

JSF page: Admin main menu image

image

Recording Test Results

In order to record the answers that the students gave I created the TestResults class. In this class there are methods that save the results to the database. In order to restrict the amount of data that could be added to the database I restricted the insertion of redundant data. This is accomplished by deleting the old result when the level is played again. For example if one of Miss Ayaka’s student decides to play the level 1 again the old result is deleted and the new data is written on the database. In addition to that there is a distinction created for true and false answers. As the program test whether the chosen answer is correct or false by if statement, the result is saved to SaveNewResult() according to whether it is true or false. At the diagrams those methods are revealed.

image

At the end of SaveResult function there is CreateEditResult() function which is used record to database.

image

This function is used for recording new results. The if statement is used because we want to distinguish between correct and false answer

image

DeleteOldResults function is responsible for deleting the old results.

Teacher view create and Student user

Screen Shot 2021-03-23 at 00 06 41

Screen Shot 2021-03-23 at 00 07 07

Teacher view and create questions

Screen Shot 2021-03-23 at 00 07 33

Screen Shot 2021-03-23 at 00 07 54

Student choose level and play

Screen Shot 2021-03-23 at 00 08 21

Possible Future Development Idea

Currently the product has two types of game for each levels: Multiple choice and short answer. While creating the question I allow the teacher to add text and picture to the questions. Then the teacher has to add the answer. One possible development could be adding different types of games. The developer could for example add matching type of question which would ensure the student to learn more kanji’s.

Rereferences

  1. Generating a JavaServer Faces 2.x CRUD Application from a Database :Netbeans Documentation_
  2. Netbeans Primefaces CRUD Generator Tutorial : CRUD Tutorial_
  3. Working with the Java DB (Derby) Database:Java Database_
  4. Installing and starting GlassFish server :GlassFish Server_
  5. JDK 12: JDK12 documentation_
  6. JDK 8:JDK8 documentation_
  7. NetBeans IDE:NetBeans IDE_

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0