Hi, I'm Han Zhang (张晗). I'm the first year master student in department of computer science in University of Southern California. Before that, I obtained my B.S. in physics at University of Science and Technology of China. I'm currently looking for software engineer jobs in United States.

Coding in: Python, Javascript, Java, C++

Projects

MemoryLeak.tech: A complete blog system solution built from scratch

JavaScript HTML CSS

Rather than building a blog solution based on well-developed frameworks such as WorldPress, I build my own solution starting from building backend infrastructures. A good practice on the way to a qualified full stack developer.

  • Built a simplified asynchronous backend framework based on Python package : aiohttp. Customized ORM connecting to SQlite. Higher level encapsulation of request handlers. Robust error handling module.
  • Implememted RESTful apis including blog creating, editing and deleting as well as user regitery and signing in functions.
  • Frontend powered by ReactJS and Bootstrap4. Support Markdown syntax and codes highlighting on blog pages.

Click here to view the web. Access to my private repository that hosting the source codes is upon request.

Procedural Generated Trees Using L-system(Collaborated Coursework)

C++

In Computer Graphic and game industrial, generating huge number of plants models in real time is challenging. Therefore, instead of mannually crafting 3D models, people switch to procedural methods. On the other hand, The recursive nature of L-system is fit for such job.
In this project we demonstrated generating 3D natural-like plants models using L-system grammar with customized featured graphic interpreter. Specifically, we

  • extended the growing principles to three-dimension and built a mesh modelgenerator that is capable of generating plants models meshes on demand.
  • built our own OpenGL renderer for rendering the generated models.
  • designed an interactive GUI to view and manipulate the plant models in real time.

See software demo in the video. Click here to view the final report.

Web App for searching ebay products(Individual Coursework)

JavaScript HTML TypeScript CSS

This is a coursework in USC CSCI 571: Web Technology class. I individually developed a web app that can search and display products on ebay. Users by typing in a keyword and setting fi lters, can view the items list that meet their requirements, as well as the detailed information of each product. Moreover, we also provide similar products as shopping recommendations, which is implemented by calling ebay Merchandising API on the backend. Technically, I

  • Wrote NodeJS scripts which
    • listens to AJAX calls from the front end web page,
    • calls ebay developers APIs to get raw JSON response,
    • responds frontend webpage with processed JSON text.
  • Designed frontend webpage using Angular7, implemented two way data binding, page routing and AJAX calls, set styling with Bootstrap to make it compatible with mobile devices.
  • Deployed the app on Google Cloud Platform.

Click here to view the web. Source code released here.

Android App for searching ebay products(Individual Coursework)

Java

This is a follow-up project of the previous web app. We implemented all functions of the web app and they share the same backend. Technically, I

  • Developed the android app on AndroidStudio using Java.
  • Designed user friendly layouts featured Navigation Bars, CardView, floating buttons and ViewPager.
  • Implemented asynchronous functions including image loading and AJAX calls.
Additionally, we call Google search api on the frontend to provide related images on Internet for each product.