My Projects


Filter:    Java    Python    JavaScript    C++
16 projects found.

Movie Website

Language: Python, Javascript, HTML

Frameworks/Libraries: Django, jQuery, Bootstrap

This is a movie website, using Django as backend, SQlite as database.

  • Implemented a search engine to support vague search and search suggestion.
  • Built a item-based recommender system according to user's movie list.
  • RESTful API together with AJAX to provide better user experience.
  • Utilized Facebook OAuth API to enable users to log in via Facebook.
View Code View Website

Shopping List

Language: JavaScript, HTML

Frameworks/Libraries: React

This is a single page web app built with React.

  • Flexible to any size of screen, including mobile phone.
  • The data is cached so that it will NOT disappear when refreshing the page or closing the browser.
  • Babel, Webpack, Yarn and SCSS are used in this project.
View Code View Website

Word Sweeper

Language: Java

Frameworks/Libraries: Swing

A client/server model online Windows game.

Used socket to connect client with server, Swing to develop the GUI, XML to transfer data between client and server, SAX to parse XML and JUnit to test.

  • Player can create a new game or join an existed game.
  • Spelling an English word correctly by clicking letters and submitting will get points.
  • Click "Up", "Down", "Left", "Right" to move inside the global board shared with other players.
View Code

Interactive World Map

Language: JavaScript, HTML

Frameworks/Libraries: D3, jQuery, Bootstrap

This is a data visualization of world map with population data from 2015 to 2100, developed with D3.

View Code View Website

Website Complexity Research

Language: Python

This is a research project about website complexity and performance. Use Python to parse GBs of JSON format HAR (HTTP Archive) files, and analyze the statistical data to find patterns among popular websites, and the key factor of website performance.

  1. Gather Data: GBs of HAR(HTTP Archive) data generated from 3 different geographical locations (US, EU and Asia) of AWS servers using selenium.
  2. Parse HAR: Use Python to build a parser to aggregate data from HAR files.
  3. Analysis Data: Compare today's(2016) results with similar research in 2011 to find patterns among popular websites and the key factors of web performance.
View Code View Paper

Data Visualization Gallery

Language: JavaScript

This is a gallery of my data visualization using D3.

View Website

Twitter Analysis

Language: Python

1. Download Data from Twitter
2. Analyze Twitter Text
3. Analyze Twitter Users
4. Business Question: How to evaluate consumers' satisfaction using Twitter? (Use Game Consoles in both English and Japanese as Examples)

View Notebook

Analyzing Movie Data Using Pandas

Language: Python

1. Overview the Dataset Using Pandas
2. Histograms and Conjectures Based on the Distribution
3. Correlation between Men and Women
4. Business Question: How to Improve the Income of Movie Company?

View Notebook

Textual Analysis: Movie Reviews

Language: Python

This is a project using scikit-learn to analyze text data. This project includes,
1. Work with Text Data Using Scikit-Learn
2. Explore TfidVectorizer Parameters
3. Explore Machine learning Algorithms(LinearSVC and KNeighbors)
4. Split Positive and Negative in a Scatter Plot

View Notebook

Data Analysis of Kaggle: Stack Overflow Developer Survey(2017)

Language: Python

1. Correlation between Salary and Work Year
2. Correlation between Salary and Education Degree
3. Where are the surveys from?
4. Programmers in the USA
5. Web Developer in the USA
6. Programming Languages and Frameworks Used in the USA

View Notebook

Hibernate Practice and Exploration

Language: Java

This project is a practice of Hibernate. The code covers most common usage of Hibernate.

View Code

Spring Practice and Exploration

Language: Java

This project is a practice and exploration of Spring.

View Code

Java EE Practice and Exploration

Language: Java

This project is a practice and exploration of Java EE including Servlet and JSP.

View Code

Mybatis Practice and Exploration

Language: Java

This project is a practice of Mybatis.

View Code

Network Protocol Design

Language: Python

Implemented a 3-layer network stack consisting of: application, data-link and physical layers.

  • Application Layer: This layer implements an interactive request/response protocol, including functions like calculator and file transfer.
  • Data Link Layer: Implements both Goback-N and Selective Repeat algorithms to provide reliable packet transfer.
  • Physical Layer: Deliberately drop some packet to simulate the physical layer in the real world.
View Code

Chat Room

Language: C++

A console chat room including client and server developed in C++.

  • Commands for admin to manage the server, like check server status and block a user.
  • Clients can chat and transfer files with each other.
View Code