Hello! My name is Brandon and there are many things I want to learn, experience, and create. I like origami, arts, animals, puzzles, and of course, coding. My interest in software engineering started when I was playing around with NetLogo. Watching the turtles create patterns and simulations on my screen was intriguing.
From there, I wanted to see what more could be done with code and pursed this interest. I solve algorithms much like puzzles and found meaning in the applications I create. Today, I want to take another step in my career.
Portfolio
Some projects big and small that I worked on over the years.
Hobby Blog (Functional but still Working On)
ExpressJS, React, Bootstrap, MongoDB/Mongoose, and AWS
Python Flask, HTML, JavaScript, PostgreSql, and RESTful API
Customer Relationship Manager
Spring Framework, Maven, and MySql
8 Ball Pool Game
OpenProcessing and Java
Knight's Tour and N-Queens Algorithms
Java
ATM
C++
My Terminal
C
Task Tracker App (WORK IN PROGRESS)
React Native
Hobby Blog
There are many forms of blogs and communications online from Facebook to Instragram to Reddit. However, it is difficult to share an indepth view of any passion an user has. Hobbyist is a web app that acts as a blog for users with a focus on any hobbies they want to share in their many different mediums. User can register and login. Once they are logged in, they can create a blog post with optional field description. The user can view all other users' blogs, all of their own posts, or search for specific content. Users can also like and comment on posts in order for the community to thrive with the ability to delete their own posts.
This project started as a final project for one of my courses where I research and experimented with React. I will continue working on this project as I developed an interest in React and will be adding many more features with good software engineering practices. Some things I plan to include are containerization, CI/CD, image inputs, and a following functionality.
PLEASE CONTACT ME AT bc2982@nyu.edu IF AN ERROR OCCURRED! I WOULD GREATLY APPRECIATE IT. THANK YOU!
Languages/Resources Used and will be Used:
ExpressJS, ReactJS, Bootstrap, MongoDB/Mongoose, and AWS
As part of my software engineering coursework, I worked as a team of 5 to learn more about the software development lifecycle and practices. We utilized standup meetings, containerization, and CI/CD to create a website that is deployed on DigitalOcean. Groupmates worked on individual branches with an automated unit testing using PyTest on each push. Using GitHub Actions, push to the protected main branch automatically pushes an image onto DockerHub and updates the deployed app on DigitalOcean. We used Python Flask, HTML, CSS, a little bit of JavaScript, and the OpenAI API. By logging in, users can created an AI generated story with an accompanying image by inputting a prompt. These stories can be private or shared with other users if the current user choose to do so. Users can be followed in order to access their stories easier. Stories can be liked, sorted and searched for using different cartegories.
This project was something I wanted to share because the emergence of OpenAI's popularity indicated a greater reliance on artificial intelligence and machine learning going into the future. Being able to utilize these services, most likely through APIs, will be important in enhancing software. The capabilities of these artificial intelligence is shocking and this project gives a fun insight into it, which I wanted to share.
Note: It will take a moment for books to load or be created as the OpenAI API generates the story and image. Viewing a created book/story will regenerate the image but not the text. The next page button might be hidden by the book css as css isn't responsive yet. A temporary solution is to zoom out.
Languages/Resources Used and will be Used:
Python Flask, HTML, CSS, OpenAI API, JavaScript, Docker, DigitalOcean, GitHub Action, PyTest
This project features a website that visualizes many statistics about the coronavirus through different graphs. The frontend uses Python Flask and HTML. The backend uses JavaScript with a focus on the library D3.
Data about the virus are retrieved from multiple CSV files and graphed with the use of animations as well.
This project features a website inspired by the online Pokemon battle simulator game, Pokemon Showdown. Similar to Pokemon Showdown, a team of Pokemon is built by the player with customizable movesets and statistics.
This team is then used to endlessly battle random Pokemons with each victory increasing the score by 1. The goal of the game is to achieve the highest score possible. The frontend utilizes Python Flask and HTML while the backend utilizes JavaScript.
A login component was added to allow different users to only have access to their own team. Login information and teams are stored in a PostgreSql database. Pokemon data and sprites are retrieved from the RESTful API, PokeAPI, which can be found at this website. They are then processed and displayed on the team building page.
This project features a website that manages information on customers. The goal was functional CRUD operations using the Java framework Spring and the build tool Maven along with ORM connectivity.
New customers are created from inputs through a form. These customer datas are stored in a MySql database for future read, update, or delete operations.
Languages/Resources Used:
Spring Framework, Maven, MySql
This project features a playable 8 ball pool game built using OpenProcessing and written with Java.
There is a playable field/table with different classes to represent the many objects on the field as well as their interactions with each other.
This project covers two algorithms which are the Knight's Tour and N-Queens. In the Knight's Tour, the algorithm will find whether a knight is able to legally move to every spot on a chess board without stepping on the same spot twice starting on any spot. If it is possible, it will also give the different number of ways it can be achieved. Chess board size can vary as well.
The N-Queens tries to see if it is possible to place n queens on a n x n board without any queens attacking each other. This algorithm will take a board size and produce the number of solutions.
This project features a simple ATM interface written in C++. There is a logging feature which requires an id and password but currently only has a placeholder.
Functionalities include showing the current balance of an account with the ability to withdraw and deposit. All transactions can be shown as well.
This project features a recreation of some terminal commands, written in C. Commands are read, processed, and executed.
Extra spaces in commands won't interfere with the output and multiple commands can be chained in one line by being separated with semicolons.
Single pipe with "|" is functional, so is redirecting with "<" and ">".
This project is a work in progress task tracker mobile app. The goal is an app with the ability to record tasks and their due dates as a way to manage one's schedule.
There should be basic CRUD operations. Currently, only a portion of the front-end is completed. There is redirecting to different pages and an accurate depiction of the date/time.
The planned next step is to work on the back-end and include database connectivity such as SQL.