After years and years of only skimming the surface of computer science and programming, I finally made the choice to take the deep plunge and begin learning all there is to know about developing software and web applications.
Below are just a few of my latest developments built on this new journey. If you would like to know more on some of my past work, feel free to contact me and I would be happy to share as much as I can on the software I created and implemented with my past company.
Udemy See Certificate
Below are just some of the skills learned:
Udemy See Certificate
Below are just some of the skills learned:
This site contains a web application built using the React library with Next.js as the framework and Bootstrap for the design components. It has been deployed on Vercel under my own domain with an SSL certificate for data encryption and security. The application utilizes Auth0 for user authentication and Next-Auth for user authorization. To help with the user experience, custom 403 and 404 pages have been created if something goes wrong with a user request. The 403 page utilizes a fun animation to alert the user that they are trying to access data they do not have authorization for, while the 404 page promptly informs the user of missing page and provides them with the option to play an audio clip of a dial-up modem as it tries to connect them to the resource they are looking for. Both pages also has added information to help explain why this issue may have occurred and what the user's next steps should be to find what they are looking for. Utilizing SWR and Serverless MySQL data is stored and fetched from the SQL database at serverless scale, which is hosted on Google Cloud
This website was built following the final tutorial from the Web Developer Bootcamp course on Udemy and is my first offically deployed application. Utilizing a combination of Express, EJS, Node.js, and Bootstrap for the framework, this site has been deployed on Heroku with a domain name provided by them. The application utilizes Passport for user authentication and custom built middleware for user authorization with sessions for tracking necessary user information across the site. A simple 404 page is utilized to inform the users that they have reached a page that does not exist. All images are stored in Cloudinary for quick retrieval of images cropped and scaled as needed using Virtual Schemas. A NoSQL database was choosen for this project through MongoDB, which is utilized to store all information related to the authenticated user and campgrounds on the website. Mongoose handles the object modeling of our database and the retrieval of data, as needed. Joi and Sanitizie-HTML helps ensure that the data being entered into the database is clean and meets the necessary requirements.
YelpCamp is a comprehensive tool designed to capture campgrounds anywhere within the world based off user's inputting basic information, such as title, location, price, description, and images. Utilizing user authentication and authorization, the site captures who submitted the campground and prevents other users from updating the information without approval. This also allows for the submission of reviews on the individual campgrounds with a rating system as well. Full CRUD functionality is available on the campgrounds and reviews, with all reviews related to a specific campground being removed on deletion of the campground itself. When entering the site, a clean, minimilistic landing page is shown, giving the user the option to view the current camprgrounds or login/register for additional features. Upon viewing all campgrounds a clustermap is provided, through MapBox, which showcases a quick breakdown of all campgrounds currently saved in the database. From the view page, you can scroll through the list of all campgrounds or click on the clusters of the map to view campgrounds in a specific area. When a specific campground is found on the map, clicking its pin will provide you with the name of the campground, a truncated section of the description, and a link to take you to the campground's page.
Utilizing many of the same back-end and front-end technologies as the YelpCamp application, this application takes some of those tools a step further to improve a user's experience and simplify the design. This website was also built with Express, EJS, Node.js, and Bootstrap, with Passport for user authentication and custom built middleware for user authorization. Cloudinary is utilized to store all images and Virtual Schemas retrieve the images in a formatted state. MongoDB is utilized to store the posts created on the website and Mongoose handles the object modeling retrieval of data. Joi and Sanitize-HTML helps ensure that the data being entered into the database is clean and meets the necessary requirements. To make this site more applicable for a personal blog, the ability to register has been removed so that only the owner of the site has access to the CRUD functionality of the posts. While this ensures only the owner of the site can create content, a solution was needed to still allow for comments from other users. To solve this issue, Facebook's Comment Social Plugin was implemented so that users can leave comments on each individual post.
This personal blog website is a simple, yet effective tool to allow an individual to express their ideas and opinions without fear of others gaining access to their content and making unauthorized changes to it. A simple, minimilistic user interface helps the blog creator and readers of the content find what they are looking for without distractions and comfortably move throughout the site. When creating an individual blog post, the user has the ability to add basic information, such as title, date, rating, body of the post, and multiple images. From the main page of the posts, a single image is displayed but, when viewing the individual post from the show page, a carosuel is utilized to cycle through the images, as well as providing the user buttons to manually scan through them as they read. While blog posts are sorted from newest to oldest by default, a simple dropdown selector allows the users of the site to sort the posts by posted date, title, and rating. After selecting the desired blog post, a user can leave comments on the content utilizing Facebook's Comment Plugin. With this simple tool, users can share their feedback directly within the site as well as within their own Facebook profile, if so desired.