BOX! - Spatial-Reasoning Platformer Game
Sep 2014 ~ Dec 2014 at Cornell University
"Box" is a popular spatial reasoning platformer game, and has been played for more than 50,000 people all around the world.
"Box!" is a developed using ActionScript 3. The character is trapped in a box, and has to find his way through the door to escape. He must enter the door with the correct orientation. In order to do this, he has to go through six faces and trigger the box to rotate to re-orient. The rotation can be triggered by climbing up or dropping down the current face through the edges.
There are many interesting elements. Create / destroy boxes to make ladders. Statues and fire balls should be avoided.
Google Dart Charted Library
May 2014 ~ Aug 2014 at Google
Dart Charted Library is a selection based D3.js like charting library for data visualisation in Dart language. It provides a flexible way for users to configure their charts by setting axes range, tick formats, combining different charts together (bar chart and line chart for the most common case). It also provides a smooth transition when data changes.
My contribution: pie chart renderer, stacked-bar chart renderer, transition of data region and axes, many other small parts of design and implementation, and test cases.
tMap - Indoor Navigation System App
Feb 2014 ~ March 2014 at Fudan University
Developed an Android-based indoor navigation application. Used Wi-Fi fingerprint algorithm to get the rough location of the user, and took orientation and acceleration sensor data to implement step detecting algorithm to transit between the rough locations. Used OpenGL ES to render indoor 3D models. Won special award on iShamrock Software Competition 2014.
dMap - Room-Based Social Network Service Website
Feb 2012 ~ March 2012 at Fudan University
Developed a Location Based Social Network project. Users can post events and comments in rooms, share and attend events, upload event photos and so on. Users can also follow a room / user, and all events related to that room or user will show on their personal pages. DMap was awarded Champion on iShamrock Software Competition 2012.
Conservation - Desktop Social Network Service Client
Nov 2012 ~ Dec 2012 at Fudan University
This is my final project of Java Programming course.
Conservation is a desktop social network service client. It uses Socket to communicate between client side and server side, and uses Microsoft Access database (which is the requirement of the course, of course not my preference).
Conservation has a lot of functionalities, including writing / sharing articles, uploading / sharing photos, music and video, downloading apps, adding friends, leaving message, and so on.
Conservation is more than a pure social network software. It is also a resource management tool. It has a machine-binded resource management strategy. Only resources shared with others are uploaded to server, and private resource are saved locally. It also has a robust task management process. Taking advantage of logging, it can restart unfinished tasks after crashing unexpectly.
FDUGroup - Group-Based Social Network Service Website
Oct 2013 ~ Dec 2013 at Fudan University
FDUGroup is a group based social networking web project. It is based on a lightweight php MVC framework Rays: https://github.com/Raysmond/Rays. The front-end side of FDUGroup leverages Bootstrap, jQuery, Masonry for Waterfall, CKEditor, PHPMailer and DotDotDot.
TimeBar - Campus Event Platform
April 2012 ~ April 2012 at Fudan University
This is my mid-term project of Database course.
TimeBar campus event platform is a location based social networking project on web. It is developed by HTML5, CSS3 and MySql. Users can search for events by changing the time range, and switch between four campus of Fudan University. The events are shown on a 2.5D map.
PRESS: A Novel Framework of Trajectory Compression in Road Networks
May 2013 ~ Sep 2013 at Fudan University
Location data becomes more and more important. In this paper, we focus on the trajectory data, and propose a new framework, namely PRESS (Paralleled Road-Network-Based Trajectory Compression), to effectively compress trajectory data under road network constraints. Different from existing work, PRESS proposes a novel representation for trajectories to separate the spatial representation of a trajectory from the temporal representation, and proposes a Hybrid Spatial Compression (HSC) algorithm and error Bounded Temporal Compression (BTC) algorithm to compress the spatial and temporal information of trajectories respectively. PRESS also supports common spatial-temporal queries without fully decompressing the data. Through an extensive experimental study on real trajectory dataset, PRESS significantly outperforms existing approaches in terms of saving storage cost of trajectory data with bounded errors.
Quick Map Matching Using Multi-Core CPUs
April 2012 ~ Aug 2012 at Fudan University
The ACM SIGSPATIAL Cup 2012 is about map matching, a problem of correctly matching a sequence of GPS sampling points to the roads on a digital map. This paper describes one of the winning submissions of the competition. The approach applies multi-threading technology to map matching in order to reduce running time and we propose an improvement to the Hidden Markov Model (HMM) map matching algorithm.
Quick Geo-Fencing Using Trajectory Partitioning and Boundary Simplification
April 2013 ~ Aug 2013 at Fudan University
The ACM SIGSPATIAL Cup 2013 is about geo-fencing, a problem of determining whether sampled location points fall inside or within a certain distance from virtual perimeters for real-world geographic areas. This paper describes one of the winning submissions of the competition. The approach applies two novel techniques, namely Trajectory Partitioning (TP) and Boundary Simplification (BS). TP partitions the movement trajectory of an object into segments and processes the points within the same segment simultaneously. BS simplifies the polygons thus accelerates the geo-fencing process.
Silica Intelligent Dictionary
Feb 2012 ~ March 2012 at Fudan University
Developed a dictionary supporting prefix-matching / suffix-matching / fuzzy / phonetic searching.
The vocabulary file (data/wordList.txt) can be substituted by bigger ones, as long as following the same file format.
Protein Viewer JavaScript Library
Feb 2015 ~ Feb 2015 at Cornell University
This is a joint effort with Ke Liu and Ray Song.
A light weight easy using JavaScript protein display library based on three.js. The library provides a one-step data loading method, which can load several proteins at one time. Alternatively, users can manually add each protein. The library also provides users the ability to rotate / move each protein and change its color. Dragging on the screen will trigger the rotation of the whole scene.
Flint - Mentorship Platform
October 2014 ~ Present at Cornell University
Flint seeks to bridge academic and experiential education by connecting students with established entrepreneurs who will provide them with both guidance and real-world challenges. At its core, Flint is a mentorship program between Cornell students and experienced professionals and/or Cornell alumni. Flint is unique and highly accessible in that it provides a convenient, interactive online platform upon which students and employers can communicate with each other.
Viva - Rideshare App
September 2014 ~ Present at Cornell University
Need a ride to social with people with similar hobbies? Want to make some friends and money by sharing your vehicle? Viva is an affordable event-based rideshare App that provides a platform for both drivers and passengers to create, join or carry trips.