Tools Used: HTML, CSS, JavaScript, SQL, Docker, JSONProject Description: Wolf's Den is a point-of-sales app from the customer's perspective. Wolf's Den is similar to any restaurant website capable of handling orders, so users are able to look at the menu and place an order. What I did: I worked on this project in a team of 2, where the main requirement was that the program had to be a Progressive Web App (PWA), meaning that the program had to be installable and have a consistent experience among different devices. I specifically worked on implementing the backend API Endpoints, the DAOs, and the database. What I learned: With this project I learned a lot of the more complicated foundational parts of backend development. This project was the culmination of all I've learned for web development, putting into practice my backend knowledge of things like APIs and DAOs, integrating the backend with the frontend, and implementing a database with SQL.
Coffee Maker
Tools Used: Java, HTML, CSS, JavaScript, BootstrapProject Description: Coffee Maker is a point-of-sales app from the employee's perspective. The employee is able to handle inventory, make, modify, and delete coffee recipes, and take orders from customers. What I did: This project was made with a team of 5 programmers. I was tasked with designing parts of the frontend css, the inventory management, and the coffee recipe database. What I learned: Coffee Maker helped me learn a lot about APIs and how to use them effectively to create and modify entries in a database.
Chat Demo
Tools Used: HTML, CSS, JavaScript, Docker, JSONProject Description: Chat Demo is a messaging app with the main focus being the ability to allow users to send and receive messages in real time. What I did: In this project I programmed the backend mainly focusing on Websockets keeping the overall project simple. What I learned: I created this project to learn how to use WebSockets to enable communication between users across different pages.
Howler
Tools Used: HTML, CSS, JavaScript, Docker, JSONProject Description: Howler is a figurative social media website for NC State students. Users of Howler are able to do a few things, like make posts (called howls), follow other students, and view howls from the people they follow. What I did: For Howler, I individually developed the project implementing both the front and the backend. I kept the frontend pretty minimalist, and put a larger focus on the backend making the website be dynamic rather than static. I implemented the howls system, following other users, and signing in. What I learned: For this project I got more comfortable creating dynamic webpages, utilizing API Routes, DAOs, JSON files for the database, and the Cookies for user info. I also learned how to allow users to be able to upload content in order to make posts.
North Carolina Parks
Tools Used: HTML, CSS, JavaScript, JSONProject Description: North Carolina Parks is a dynamic web app made to show off all the parks in North Carolina and which county they belong to. Users are able to navigate to each park and filter parks by county. What I did: For this project I was provided a database of parks and their information, and using it I was able to populate all the dynamic pages and implement a filtering system. What I learned: This was the first dynamic webpage I created, as each park would need their own page, but with hundreds of parks, it wouldn't be realistic to do so on a static site.
Calculator
Tools Used: HTML, CSS, JavaScriptProject Description: Calculator functions like a standard calculator but includes a history feature that lets users reuse numbers from previous calculations. What I did: I individually programmed the calculator's frontend and backend, handling the design of the calculator, all the button functionality, and the history system. What I learned: This was my first javascript project I made, and I utilized my finite state machine knowledge to handle all possible user inputs.
Wolf Scheduler
Tools Used: JavaProject Description: Wolf Scheduler is a class organizing tool meant for students to create a semester schedule. With Wolf Scheduler, students are able to add classes, add personal events (like club meetings), and get informed of any time conflicts. What I did: In this project I implemented all the required functionalities like the class addition system, personal event planning, and the system that updates the user on any time conflicts. What I learned: I programmed Wolf Scheduler to learn more about fundamental programming concepts like abstract classes or Model-View-Controller architecture.
System Test Planner
Tools Used: JavaProject Description: System Test Planner is an organizational tool to help with organizing any tests made for projects. The planner is able to add any number of projects, and users are able to create tests for these projects that they can update to either be passing or failing. The user is able to filter specifically for failing tests for any project as well. What I did: In this project I programmed all of the different functionalities including the test case system, the project filterer, and the creation of new projects. What I learned: This project was mainly to help me get more comfortable with Java adding on additional requirements to complete compared to my Requirements Manager project.
Requirements Manager
Tools Used: JavaProject Description: Requirements Manager was the first project I programmed while at NC State. The main purpose of this project was to be a program to help organize any projects through user stories. It allows users to create, track, and update user stories, making project planning more structured and efficient. What I did: Being my first project, I was provided the GUI, and had to implement all the code for the user story functionalities. What I learned: With this project I learned all the fundamentals of Java, simple things like methods, arrays, and object oriented programming.