Distributed P2P Chat Program (Java)
Designed a peer-to-peer chat program in Java that allows clients to directly communicate with each other.
Implemented a peer discovery mechanism using UDP broadcast to help clients find each other.
Used a reliable and efficient network protocol WebSockets to handle communication between clients.
Ensured the confidentiality and privacy of chat messages through the use of encryption SSL.
Smart Compiler (Java)
Designed and implemented a Lexer component for tokenizing the input code.
Developed a Parser and AST generation module, providing structure to the input code and enabling code analysis.
Implemented Scopes and Type Checking components for semantic analysis and ensuring code correctness.
Created a javac generation component, translating the analyzed code into Java Bytecode.
Twitter Clone (F#)
Twitter Clone is a program written in F#. It uses the actor model to make users work concurrently, and data transfer between users is implemented by suave websockets. In order to secure the data transfer, the data is encrypted by RSA encryption mechanism.
UF CSA Website (Jekyll)
UF CSA Website is mainly used to promote the various activities of CSA. Chinese Student Association (CSA) at the University of Florida is an official non-profit, non-political student organization.
Video Editing Page (Dianping iOS)
The video editing page allows users to edit pictures and videos in their phone albums. Specific features include video cropping, adding stickers, adding filters, and adding music. After the user finishes editing, the result asset will be generated and saved to the phone album.
Album Selection Page, Album Preview Page (Dianping iOS)
The usefulness of the image selection page is that when the user edits text, they can check off the phone album to add images to the text. It is needed to deal with photo compression, video clarity compression, photo/video cropping, special handling of iCloud images, etc.