A profile picture of Adarsh Patel

Adarsh Patel's Portfolio

Welcome!

My name is Adarsh Patel and I am a computer science major at the University of California, San Diego graduating in June 2024. I am currently looking for new graduate openings in any web development or computer graphics roles!

My Projects


Analytics Dashboard | HTML, CSS, Node.js, PHP, MySQL | GitHub | Project Link

This is one of my most comprehensive projects. In this project, we created a web server using Apache and Digital Ocean to track data about users who enter our site. Any user who entered our site was given a session ID, or cookie, and we simply tracked their static, performance, and activity data. This was including, but not limited to, how long the page took to load, what kind of device they are on, the dimensions of the screen of the device, exactly where their cursor was on our site and what keys they pressed, how long they were idle for, if they were idle, and when they returned. We then created our own RESTful API using Node.js and injected this data into our MySQL database. After this part was done, we created a dashboard for verified users to visualize this data. We implemented an authentication system using JWT and created normal users and admin users. Normal users were allowed to checkout the dashboard we created and generate a two-page report about the dashboard. Admin users could do this as well, but in addition, had an user management tab that would bring up an user management table, where they could add, delete, and update users. This is essentially a CRUD grid. We used PHP to extract data from the database and create both the user management table and the dashboard. The dashboard was creating using the ZingChart library. The management table was created using the ZingGrid library. We used HTML/CSS to build and style the page properly. Unfortunately, there is no GitHub associated with this project and the link no longer works since we shut down the server as it became too expensive to run for us college students. However, the code is available upon request.


Origami Fortune Teller | HTML, CSS, JavaScript | GitHub | Project Link

This was a project created by a group of 10 members, where I was a team-lead, and the main goal was to both build something from scatch and follow the Agile process. I led a team of 9 other developers to build this web application using HTML, CSS, and JavaScript. We followed the Agile process meaning, in week 2, we started off with team bonding exercises. Then in week 3, we began brainstorming using Miro board. In week 4, we created user personas/stories, to create a user-centered application. Then, in week 5, a prototype design on Figma was created, meaning we had numerous svg options and also wireframes to help us guide ourselves. Then, from weeks 6 to 9, the focus was on simply coding. I held weekly sprints. This obviously called for weekly sprint review meetings and retrospective meetings. In week 10, we concluded the project by creating robust testing through Jest/Puppeteer. This whole project was mostly collaborated through Slack, Discord, and GitHub. Check out the GitHub link which will have both our administrative and technical repositories.

In the admin repository, you can find anything Agile related including meeting notes, Architectural Decision Records and the practices mentioned earlier. Throughout this period, we also created a robust CI/CD pipeline. Those documents can also be found in the GitHub. This pipeline included a linter, the Code Climate quality checker, a manual pull request review, automated testing through Puppeteer and Jest as well as a JSDocs deployment.


Boids Animation | C++, OpenGL, GLSL, Blender | GitHub | Project Link

In this project, I've slowly started to understand computer graphics starting from modeling, then going to rendering, then animation. The first couple output folders in the GitHub are simply rendering 2D and 3D shapes from an algorithm I've created. These algorithms only use the CPU, meaning they take a while to render objects with multiple triangles. However, the next add-on was to begin to use the GPU. Here, I created an algorithm using OpenGL to take advantage of the GPU on my system. This increased render times over 200%. To make linear algebra calculations simpler, I took advantage of the built in GLM library. In addition, to add lighting and correct coloring, I wrote vertex shaders and fragment shaders using GLSL. All of this was in C++. I created mockups of objects in Blender and added textures, vertex colors, shadows, and lighting to these scenes. Finally, I created the infamous boids animation using all these skills combined which can be found here.