December 2024 Code Update

I still don't know what I want to name this web blog/CMS software I'm currently developing, or what to refer to it as quite yet. @ me on X, BlueSky or heck reply to a video on my (neglected) YouTube channel if you have any ideas! 😅

Features and Functions:

  • Create Blog Posts
  • Create "tweet" style posts
  • Create Test or any other style of posts
  • Edit/Delete Posts
  • Categorize and Tag posts
  • Create photo albums (Which makes its own style of blog post with a mini-gallery to show the photos)
  • Full rich text editor on the backend for posts
  • Upload single or multiple photos (including drag-n-drop)
  • File manager to manage already uploaded photos
  • Photo picker
  • Gallery Light-box
  • Image caching
  • Image thumbnail-ifying on the fly
  • GZIP encoding
  • User profile
  • Site customization including Title, logo, footer text, blog name, etc
  • Site analytics with: sophisticated backend, traffic analysis/logging, user-flow-path, most frequently visited pages, User Agent Distribution charts, DB-IP Geo-location estimations based on IP address, total hits, average visit length, referring sites...(and more features being added)
  • BlueSky post/delete integration (1 way integration right now - post to and delete that post from BlueSk - the visa-versa will be in a future update)
  • Image watermarking on-the-fly
  • Right click blocking on photos 
  • Secure user/session handling
  • Site login/Forgot Password/Reset Password functionality
  • Responsive design (I almost forgot to put that, because, isn't that the norm now!?)

I've built all of this website from the ground up, relying on as few external libraries, etc, as possible. Most of the outside code is JavaScript for GUI elements and functionality.


Some technical jargon:

The BlueSky code was largely written from scratch as its a new protocol for me and I had to figure it all out. Most of the other people online creating BlueSky integration use dependency managers like composer to build the code, and I do not use such dependency managers so I had to scrape everywhere I could to find code samples that would allow my integration to work without relying on a bloated library.

The text editor is a fully free/locally hosted version of the TinyMCE rich-text editor with many added features to boost the overall functionality for creating posts

The light-box code is a highly-adapted version of jQuery Magnific popup.

The gallery code on the Photography page is some code that I wrote from scratch after searching the internet endlessly for a suitable endless-scroll gallery that is also responsive and also handles cached images. 


The wrap-up:

I've said it before and I'll say it again: I've long-used nickdodd.com as a place to refine my craft of website development and have been building my personal websites like this for over 20 years. I take pride in writing my code from scratch using just a text-editor and creating nearly every bit of UI and other graphics on the site. 

The code I craft here usually lives on in my repertoire for years, if not decades, to come, so I always take as much time as I need to make it perfect, and for the first time ever I'm going to turn my website code into open-source software that anyone can use! 

I'm not sure quite yet when I'll start the official open-source project, but for now the code is an absolute mess and there are many more features and functions I'm working on and adding still. The code as it is now, is around 4500 lines of code, and is contained within a very limited number of files as I build out the functionality (also my preferred way to code). Once the code is closer to feature complete for a 1.0 build I will start to modularize it into MVC-style code base, which will help make it easier for other people to create plugins/addons for and overall work on and that's when the Git will be born.

/* Happy Coding */

[TEST POST]
Test

test

Code Stress Test

This is a test post.

Photos and Videos added by various methods:


This post is being edited to include tags, and change the category. Edit Number 2, change tags. Edit 3 change title. Edit 4 attempt to remove tags. Edit 5, add tags back. Edit 6 change a non-defined category. Edit 7, new category handling code. Code checks out.

UPDATE:

Today's developments include: new post rendering code, new post and edit post backend updated to reduce bugs and work effectively including image handling, image uploads, title, category, tags and content changing. 

Up on the to-do list is add a galleries feature to the photography page, adding functionality to the notifications icon on the homepage so you can be alerted to new posts by turning on notifications, and more.

Teaser Update

Coming soon: Truck engine update (full article), a look at Apple repair tools, new business cards and promotions, and new YouTube content after over 2 years!

For more up to the minute updates follow me on BlueSky @nickdodd.bsky.social

Functionality test after 1000+ lines of code added

This is a test. This post will be edited.


I would really like the photos to be cached when they are in a post, and when clicked on bring up the Image popup, but thats a project for another day.

There is much left to add to the images/albums part of the website. Stay Tuned.

New website: nickdodd.com Version 2023

I've left my various websites in neglect for the past few years, mostly due to not really needing them to be up to date, but with a large project I've got going for my web business right now I figured it was finally time to get back to some serious web development.

That's where nickdodd.com comes into play, since it has always been my testing grounds for web development, nearly every version of this website I've ever made has been entirely hard coded from the ground up with all of its features being products of my own development.

This new version of the site has been designed for over a year and mostly been a place holder, but I'm finally developing it out to be a full website again!

This new site will have photo galleries as a place to showcase some of my photography collection that I've been taking for over 15 years.

Additionally this website will a hub of information about my businesses and where you can learn more about them!

Stay tuned right here for more developments and have a great day!

UPDATE: August 2024

I have spent around 14 hours updating the entire website adding nearly 100% of features I want on the backend, including management of photos, posts, post categories, post tags, messaging, and analytics. This update added around 1000 lines of code to the codebase. 

There remains some work to be done on the front end user experience to get it to where I want it to be, which will include some updating of the photography page and adding functionality such as photo albums and more.