This Next.js tool contains various sections that are meant to complete a certain task, including Songs, Notepad, Sketchbook, Schedule, Projects, Microblog, and Links. While the Projects and Schedule section is meant to manage productivity, the other sections are used as custom repositories of ideas and thoughts that can be accessed anywhere in a private manner.
This tool was originally coded raw in PHP but it is currently in the process of being ported to a NodeJS environment based on Next.js with React.js. The project is being ported as part of an effort to learn and apply more modern web development frameworks. Bearing this in mind, there are a few aspects of the code presented that I have realized are not ideal, such as defining too many components in a single page or repeating similar components in the various pages that could be combined in other ways. However, code is currently in the process of being rewritten to be up to production standards.
This project manager is designed to be used by a single individual and hosted privately. To ensure the privacy of the content, authentication and login functionality will be implemented in the near future.
Meant to be a page in the replacement for the art portfolio below, this fully interactive music player was my first ever JavaScript project developed in the summer of 2022.
Built in vanilla JavaScript with Howl.js & a tiny amount of JQuery, this online music player pulls from an already existing MySQL database, builds playlists/albums based off of database information, and then displays them to the user in a format similar to Bandcamp or Spotify. Featuring all standard playback functions, a functioning volume and duration slider, a visualizer, song information and lyrics, and downloads for each song, this is meant to be a public repository for my music.
While the project in it's current state is fully functional, there are a few shortfalls under the hood that need to be addressed, including it's methods of altering the DOM, large memory footprint, and it's lack of code organization such as classes. Eventually I plan to create a Next.js/React.js version with a rewritten version of the player class.
Originally developed in December 2020 and revamped in summer 2021, this website is meant to be a portfolio for all of my artistic works. Originally a static project with only HTML/CSS, this project evolved into a dynamic website with a PHP-based backend with a MySQL database. It is also hosted on a LEMP stack that was manually configured.
The website itself contains a Blog, a Videos section, a Music section, and a page for "Extras". Each page pulls from the database to display content. The website also has responsive CSS and is fully usable on mobile.
While the page is fully functional, there are still some shortfalls and design choices that need to be improved, such as the use of inline PHP generation (and the use of PHP at all). However, as it stands, it is a demonstration of my ability to style a fully functional HTML website. While currently I have no plans to use this as an art repository in the future, if I were to redesign it, I would integrate it to be generated using React.JS, and create a more usable backend page to add content rather than manually inserting MySQL rows and transferring files to the VPS.