🤿 Hello!
I am Siyu Chen, a full stack software engineer from 🐊UF. I enjoy coding and learning new technologies.
Get in touch siyuchen.dev@gmail.com
📜 About Me
I am a senior at the University of Florida studying computer science. I am currently working as a Development Lead for the CaSMM team in the Engaging Learning Lab @UF. I am passionate about backend engineering with a focus on scalable services and process automation. However, with my knowledge of JS frontend frameworks, I am proficient with full stack web development. Outside of work and school, I have taken interest in learning new web development tools and frameworks by following Youtube videos and incorporating them into my own projects.
I like to consider myself as a pertinacious problem solver. I cannot take my mind off the problem until I find a good solution. I thrill at the satisfaction I get when solving a problem after hours or days of hard work. When facing a problem, I like to explore all options and seek to build out the most appropriate solution while taking efficiency and competency into consideration. I am highly motivated, goal-oriented, and determined.
🦑 Work Experience
University of Florida
Gainesville, Florida
Undergraduate Research Assistant / Development Lead
Feb 2021 - Current
- Led the development team to build a Cloud Arduino IDE to support 200+ elementary school students in building computational models for science experiments.
- Built and maintained app backend with PostgreSQL and Strapi that act as headless content management system to allow better programming flexibility and scalability.
- Implemented a service to handle Arduino code compilation and used Redis/Bull to allow pub/sub communication between the application and the service.
- Managed automatic pipeline that creates Review App and deploys to Staging and Production environment on Heroku with GitHub Action .
🦪 Projects
CaSMM
Computation and Science Modeling through Making Full Stack Web App
CASMM, or Computation and Science Modeling through Making, is a cloud-based programming interface designed for fifth and sixth grade students to support them in building computational physical models for science experiments in the classroom.
CASMM is developed by the University of Florida and Texas A&M University with support from the National Science Foundation.
CASMM makes use of Google's Blockly JavaScript library to build a block based visual programming editor within our user interface. Programs created through the visual programming editor can be compiled into Arduino executable code and uploaded directly onto a students Arduino. These programs, once uploaded to the student's Arduino, provide support in performing a corresponding science project in the classroom.
MicroTick
Full-Stack Ticketing App with Event-Based Microservices Architecture
Microtick is a full stack ticketing web application built with event-based microservice Architecture. MicroTick is consists of 5 Services - Auth, Tickets, Orders, Expiration, Payments - 1 Client,1 Event bus and 1 Load Balancer.
Every service is completely separate from each other. None of the services rely on other service's existence to function because of their own database implementation. This means that if Ticket service goes down, the other service will still function properly and users will be able to create an order and pay for an order. And with the help of NAT-Steaming Server, when the down service goes back online, it will receive all the events it missed and be able to update its database accordingly.
In order to achieve easy communication between service and high availability and scalability for deployment, each service is containerized with Docker and the entire container Orchestration is managed by Kubernetes. Workflow automation is implemented with GitHub Action where each service will be tested during pull request and will be built, published to Digital Ocean during merge to Main branch.
Shoppingfy
MERN Stack E-Commerce App with Production-grade Workflow
Shoppingfy is a front-end focused MERN stack eCommerce web application built with production-grade workflow. Shoppingfy has all the functionalities you can find in a common shopping site:
- Full featured shopping cart
- Product reviews and ratings
- Top products carousel
- Product pagination and Product search feature
- Ceckout process (shipping, payment method, etc)
- PayPal / Credit card integration
- Admin Panel for Product/User/Order management
Shoppingfy uses TravisCI for its production automation workflow:
- Push code to Github from a Feature branch
- Travis automatically pulls repo
- Travis builds a test image and test the code
- On test success, you would be able to review the code and merge it into master
- After merging, Travis automatically pulls repo and builds production image
- Travis pushes production image to Docker Hub
- Travis pushes project to AWS Elastic Beanstalk
- AWS Elastic Beanstalk pulls image from Docker Hub and deploys.