Skip to content
No description, website, or topics provided.
HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
projImages
ProjectGallery.html
README.md

README.md

Steven Yen's Project Samples

Steven Yen
MSCS Student
San Jose State University
stevenyen510@gmail.com


Hydrogen Production System (ME BS Senior Project)
Photovoltaic System Energy Data Analysis Tools (Chevron Energy Solutions))
Random maze generator and solver
Graphical Calendar/Scheduler
Hotel Reservation System
Connect 4 Game AI
Twitter Archive Web App
Integration Testing for Web Apps
DDoS Attack Simulation and Defense
Hospital Patient Record Keeping Application
Library Inventory System


Hydrogen Production System (ME BS Senior Project)

  • Parts selection (DC Motor)
  • Create 3D Designs for the Different Components
  • Created components from 3D drawings in machine shop
  • Bench testing



Back to Top

Photovoltaic System Energy Data Analysis Tools (Chevron Energy Solutions)

  • Created Excel tools using VBA and Macros for data analysis, reduction, and visualization
  • Determine correlation between solar photovoltaic system energy production and weather data
  • Used correlation to infer system energy production from weather data



Back to Top


Random maze generator and solver

Project Link

·         Generates random maze using disjoint sets.

a.       Start out with N = nxn isolated rooms. Represented by an Nx4 array of arrays, where each length 4 array corresponds to the room’s 4 wall (0 for no wall, 1 for wall).

b.      Randomly pick a room and randomly pick a wall to remove. Removing a wall corresponds to the union operation joining two rooms. Continue this until the starting room and the goal room is in the same set. This means there’s a path from start to goal.

c.       Randomly solve this maze using BFS and print path.

d.      Randomly solve this maze using DFS and print path.


 

Back to Top

Graphical Calendar/Scheduler

Project Link

 

Created using Java Swing and AWT libraries

Follows Model View Controller (MVC) Design Pattern



 

Back to Top

Hotel Reservation System

Project Link

1.       Reservation System for a hotel

2.       Manages two types of accounts (Hotel Manager vs Guest)

3.       Allows Guests to make reservation or view/cancel existing reservation

4.       Allows Managers to select dates from a graphical calendar to view reservations on that date

5.       Manager can Save Data which serializes the data structure used to store reservations

6.       Manager can Load previous data from the serialized file

 

1. UML Sequence Diagram for making a reservation

 

 


 

Back to Top

Connect 4 Game AI

Project Link

1.       Created command line interface for administering the game

2.       Player can play against an AI

3.       Uses Minimax Algorithm to evaluate moves

4.       Tested out different heuristic functions

a.       Tallying all 69 possible 4-in-row's in the board

b.      Based on “threats”

c.       Decision-Tree Classifier (sciKit Learn)  

Tree_2.png

Capture7.PNG


 

Back to Top

Twitter Archive Web App

·         Allow user to search an archive of saved tweets

·         Built using Node.JS with Express.JS

·         Backend has REST API POST/GET endpoints that returns JSON objects

·         Frontend buttons and forms that triggers POST/GET requests to the backend, parses the response JSON, and display the results appropriately




 

Back to Top

Integration Testing for Web Apps

·         Use Selenium Framework to simulate user actions on a web UI (such as filling out text boxes, clicking button, selecting from dropdown, etc.) for test cases with over 30 steps.

·         Followed Selenium best practices and Page Object Model/Pattern to ecapsulate each page or view of the web app with their associated actions.

·         Created utilities to save screenshot of UI when tests fails.

·         Integrated other engineer’s library to log information in CSV output files.

·         Programmatically sent HTTP Request to backend rest endpoints and parsing response JSON to assert state.


Back to Top


DDoS Attack Simulation and Defense

·         Simulate distributed denial of service attack

·         Wrote Node.JS applications that listens for signal from master and launches GET Flood Attack (or slowhttptest)

·         Set up open source Intrusion Prevention System (IPS) Snort to block attack

·         Created virtual network of 6 machines in VirtualBox and simulated attack

 

https://lh3.googleusercontent.com/wXnWS1celCMDjXZmFphgrM-V3LWJyLQe0zo01pswSEoiZLtZmHBMbftxeQE0gKQKg__zuifqosVelB4WzUwuPSm0I8lYtVpYukZGsCFKa2M46_DnWOEd0lpLJrA6RUyVFCfm8vay

https://lh5.googleusercontent.com/HFJNFVCBIsi31-6GXOP68G1LwVEQHwfXPqWhhdTYl4b-1R62GxbUuxdnAtjodNGQa1NMola6e3ROg7vPOfWTslMf6pCmwK-zfjbcRXXRIHoZleupcSvtnTvD8lFbHvkumX5xKbY6

 


 


Back to Top

Hospital Patient Record Keeping Application

Project Link

·         Built backend using Java Servlet hosted on Jetty Container

·         Serves GET/PUT/POST/DELETE requests and triggers corresponding actions in the database

·         Stores results of frequent query using Memcache to improve retrieval speed

 

Back to Top

Library Inventory Project

Project Link

  • Full stack project using MySQL, Node.js, Express.js, and JQuery
  • Backend has GET/PUT/POST/DELETE REST API Endpoints that perform associated action in database
  • The front end UI can be used to trigger the appropriate operations
  • Supports the following operations:
    • Reviewing all books in library (GET)
    • Update the status of a specific book (PUT)
    • Delete a book from the library (DELETE)
    • Add a new book to the library (POST)


Back to Top

You can’t perform that action at this time.