Skip to content

EricZhang90/Recite

Repository files navigation

Recite

  • Recite English word for Chinese people

  • Client Side (Java):

  • Created Multiple GUIs to enable a more user-friendly experience

  • Used multithreading to load local data files, and used Atomic objects for rendering the program thread-safe

  • Designed a test mode which displayed a vocabulary term with four answer choices, of which only one was correct.

  • Provided a register & login window for user history and authentication as well as an optional field for a user to add

  • question-specific educational notes, and the ability for the user to create, update and delete custom words/terms

  • Sent and received user progress to and from server via socket

  • Website (HTML, PHP):

  • Register page used PHP validated registration information and created the user account in MySQL

  • Provided a password-reset service which sent a specific web address to user’s email and change password

  • Server Side (Java):

  • Collected user connections by encapsulating array list into synchronized list in order to ensure thread safety

  • Validated user login information

  • Stored user progress in the specified database

  • Handled client request by reflection and according to the request, analyzed and sent specific data to the client

  • Database Manager (Java, SQL):

  • Connected to MySQL and handled requests from the server for either retrieving or updating records

  • @author Eric
  • @version 1.3.2 2016/02/03
  • 1, add comment
  • 2, delete redundant code
  • @version 1.3.1
  • 2016/01/31
  • 1, add encrypt class to protect password
  • 2, link 'register' and 'forget password?' buttons to php
  • 3, add php scripts to provide registration and reset password services
  • @version 1.3
  • 2016/01/24
  • 1, revise all classes, seperate them to client side and server side
  • @version 1.2.2
  • 2016/01/22
  • 1, add server side, move all functions who need to connect to dabsebase to server side.
  • 1, refactor those functions to seperate classes
  • @version 1.2.1
  • 2016/01/21
  • 1, add a class Statistics showing correct rate and practise date
  • 2, delete Reset button
  • 3, update DBMananger so that DBMananger is able to retrieval and receive mutiple messages.
  • 4, user progress is automatically stored into database when the application closing.
    • @version 1.2.0
  • 2016/01/19
  • 1, add two databases:
  • user profile:
  • create table userProfile(
  • username char (50) primary key,
  • password char (40) not null,
  • hint char (30));
  • user's daily accomplishment:
  • create table accomplishment(
  • username char (50),
  • updateDate date,
  • updateTime mediumint (6) unsigned not null,
  • correct mediumint (4) unsigned not null,
  • incorrect mediumint (4) unsigned not null,
  • currentIndex mediumint (4) unsigned not null,
  • primary key (username, updateDate, updateTime),
  • FOREIGN KEY (username) references userprofile (username));
  • 2, add a class DBManager to manager database
  • 3, add a class LoginWindow which creates a login window and validate user information by connecting database
  • @version 1.1.3
  • 2016/01/12
  • 1, refactor all codes
  • 2, fix a bug that "add to note" adds previous vocabulary, which happens after I refactored all codes.
  • @version 1.1.2
  • 2016/01/05
  • 1, add windows listener to delete duplicate vocabulary in data file when note is closing
  • 2, add SWingInvokeLater to all functions that are in thread and change GUI
  • 3, fix the bug that user cannot clear note
  • @version 1.1.1
  • 2016/01/04
  • 1, use borderLayout with direction in VBook instead of manual setting component's position
  • @version 1.1.0
  • 2016/01/04
  • 1, add a new class VBook (vocabulary book) so that user is able to customer own vocabulary book
  • 2, data of VBook is wrote in Vocabulary.dat
  • 3, automatically check duplicate words and duplicate words wont be display
  • @version 1.0
  • 2016/01/03
  • 1, read file by thread
  • 2, offer 4 choices
  • 3, set limited time to answer question
  • 4, date in title
  • 5, record score

About

Recite English word for Chinese people

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors