Explore More US is a application that I am currently working on. The project idea grew from my project called MapMN below in which I wanted to have the application serve relevant information nationwide instead of just for the state of Minnesota. I am excited to embark on this project as it will be one that I will be contributing to for the foreseeable future.
For the MapMN project, I only developed it with the technologies I knew. However, for this project, I wanted to take things a step further and break into some well known technologies that are new to me. Some of these include React.js, Next.js, and using Vercel as a server cloud hosting platform. Other than these technologies, I am also using a PostgreSQL database on CockroachDB as well as Python for data analysis and organization. Currently I only have National Parks locations included in the map for this application, but if you check the roadmap on the website (which is the most up to date) you will see all my future plans for this application.
Application Website Github RepositoryThis application was developed for a University of St. Thomas community partner in participation in a agile based senior capstone course. Don't get me wrong, this application is not just a tuition calculator, but a full role based system for Risen Christ administrators to keep track of tuition calculations that the organization's clients submit along with their private information. I participated as part of the tuition calculator development team, but also assisted in other aspects of the project throughout the system including assisting in developing a comprehensive UX/UI guide as well as debugging and user testing the application. According to Gitlab, I actually contributed about 16% of the entire project's codebase.
This application was developed in Spring Boot along with Hibernate for the backend and for the front end using a combination of JavaScript, CSS, and HTML in JSP pages. The majority if not all the pages were server side rendered and sent over to the client.
As someone that enjoys getting outdoors and taking photos, I found it cumbersum to be scowering the internet looking for campsites and places to go hike and walk in the state of Minnesota. Therefore as a personal project I created a web tool in which plots out all Minnesota State Lands and an extensive collection of campgrounds in the state. This project will also have links to other trusted websites with free to use maps and resources to make planning one's next adventure in the land of 10,000 lakes so much easier. I have since decided to take this project to the next level utilizing React.js and Next.js. Check out my project labeled 'Explore More US' for additional details.
This project utilizes for the front end Vue3, Leaflet.js for the interactive maps and jQuery while the backend is comprised of Google's no-relational database platform called Firebase. To learn more and see the working version of this site check out the links below.
Application Website Github RepositoryThis project was focused on building a web page that displays crime information released by the St. Paul Police Department. The main concepts focused on during this assignment where on creating and implementing a Restful API on the server side and how to make and receive requests to said API on the client side.
The Restful API was created using Node.js and Express.js that communicates directly with a SQL relational database where all the St. Paul crime data resides. There are a total of three Get request paths created and a Delete and Post request created for the deletion and insertion of crime data. For the in class project the database was hosted locally by using SQLLite Version 3. However, after the fact, I migrated the data into a PostgreSQL database hosted on CockroachDB Labs. The Restful API was also run locally for the project, but after the fact I launched it on Vercel in which it speaks with the CockroachDB Database before sending the data to the client side page hosted on the github repository.
The Webpage itself was created using Vue3 which is a Javascript framework for building user interfaces.
The completion of this project displays one's foundational understanding in the concepts of communication between databases, Restful APIs and Client Side User Interfaces. It also exemplifies the knowledge one has in the realm of web development in terms of implemented Promises, conditions, loops and the Model-View-Controller development concepts.
Application Website Github RepositoryThis project focused on developing a dynamic webserver within a team environment. The team I was part of built this dynamic webserver using Node.js along with Express.js with a focus on displaying data and visualizations relating to Energy consumption in the United States. The data was displayed by sector, state, and by year.
This project demonstrates an understanding of server side operations and implementations that take place so dynamic web pages can be generated based on the client's request. This understanding includes HTTP, HTTPS, CORS, HTTP response status codes the browser and server communication methodologies, and much more.
Once the project was completed by the team, there were a few things that I wanted to summarize myself. Therefore, I took some time to refactor code, reorganize of the structure of the project and redesigned the user interface. Mainly I did this for practice, but also to further provide a example of my current skillset. You can find the refactored project that you can run in your personal development environment at the github repository below that is labeled "My Branch". The one that is labeled "Team's Branch" contains the version of this project that the team collectively worked on.
Github Repository (Team's Branch) Github Repository (My Branch)Interaction with Graphics is a multimedia installation that immerses the audience in the virtual realm of computer graphics through auditory, visual, and interactive queues. This time sequenced project, which is entirely written in Javascript with a library called ThreeJS, implements a variety of abstract and structured sequences, all of which demonstrate mathematical and programming achievements made in the last 30 years, such as perlin noise and sophisticated 3-dimensional model rendering. The main objective of this endeavor is to remind its audience of the past while demonstrating what the future holds.
The interactive queues implemented in this assignment include musical graphic syncronization by using Web Audio API and hand interaction through the library called HandsFree.
This project displays the ability to adapt and learn new Javascript libraries and find ways in which to allow multiple libraries to work efficiently with each other in order to obtain the desired end result. In addition, this project also displays one's ability in understanding the fundamental concepts of computer graphics including the various versions of computer simulated lighting, the model view, the projection plane and the animation cycle.
Github Repository
I have considerable experience in computer graphics and completed this project focused on drawing
3D lines onto a view plane using HTML's 2D Canvas API. My project involved implementing both parallel
and
perspective projections, as well as additional features such as animation and movement of 3D shapes
through the use of keyboard keys. I was able to create common 3D shapes such as cubes, cylinders,
cones and was close to completing a sphere. The end result was a custom scene that was precalculated
and uploaded through JSON to the project.
With this project, I have demonstrated my understanding of the display pipeline and the steps involved
in creating 3D graphics, including modeling, transformation, viewing, clipping, rasterization, and
display. I am confident in my ability to apply my skills to tackle new challenges in the field of
computer graphics.
Gouraud Shading
Phong Shading
Skilled in using WebGL, I have demonstrated expertise in implementing lighting algorithms to shade 3D objects and produce realistic lighting effects in computer graphics. My proficiency in writing custom shaders using GLSL allowed me to pass the necessary information to the GPU for processing, including vertex data, light source information, and material properties. During the project, I focused on simulating real-world lighting, specifically multiple light sources, to accurately depict the illumination of 3D objects.
In addition, I worked collaboratively with a partner to implement the project, where we added our own 3D shapes, including a rhombus and a yellow star, to showcase our ability to manipulate and display objects in a 3D environment. We also implemented two of the most common lighting algorithms used in online applications, Gouraud shading and Phong shading, to demonstrate our understanding of these techniques.
Overall, my experience with WebGL and my ability to implement and understand the complexity behind these realistic lighting and textures on 3D objects make me a suitable candidate to consider in supporting any team working on similar projects.
Application WebpageUtilizing perlin noise and object oriented programming, this interacitve experiment displays a firework animation upon clicking anywhere within the black box above. This project was created using a library called P5.JS which is a free and open-source library that focuses on making creative coding accessible and inclusive for everyone.
This project demonstrates the capability to adapt to different Javascript libraries as well as apply object oriented coding and design methodologies learned when working with other coding languages.
Github RepositoryUtilizing geometry and object oriented programming this interactive experiment allows a user to create unique visualizations which can be used for desktop backgrounds, web browser applications, and many other uses. It was created with a library called P5.JS which is a free and open-source library that focuses on making creative coding accessible and inclusive for everyone.
This project demonstrates the capability to adapt to different Javascript libraries, display understanding in basic geometry concepts and the ability to apply object oriented coding and design methodologies learned when working with other coding languages.
Github Repository--- Abraham Lincoln ---