UnluckyTech Website Development
January 2024 – October 2024
If you are reading this then just note this post will be overhauled and written out more in depth about my journey in building the site. It will include tutorials on how to start your own wordpress website from scratch, view invoices from invoiceninja, submit and view tickets from your website, and plenty more. Till then, here is a rant by me on some of what I went through to build the site…
I had a general understanding in developing websites prior to unluckytech but the knowledge I did have involved static pages and consisted of the base standard html/css and some javascript to make it more alive.
When I first decided to make this website I started off with a similar mindset. Make a few static pages and have everyone who is interested in my work navigate to other pre-made sites like gitbooks, github, discourse and so on to better view what I’ve done. Though, as I continued to make the site, I began to wonder why I even wanted to run this site on wordpress in the first place. Its a Content Management System (CMS) that handles alot of the content that you would offer to your userbase and originally I wasn’t gonna use any of that.
This endeavor had me stumped and couldn’t decide how to approach the matter and later began to actually understand wordpress.
I looked over how most use wordpress with plugins and using something like elementor to even edit the site but I didnt want to pay and rely on someone else’s work to show off my own. So thats when I decided to do it all myself. I started referring to the code used in themes like twentytwentyfour, went through wordpress developer documentation and began making unluckytech.com.
Initially it was just working on the frontend and deciding how I wanted the site to look. Then when I finally wanted to utilize a key feature to wordpress, I began implementing posts. I then simplified the viewing of the articles on the front page and once selected would view the entirety of the post with some related posts on the side.
Then included a way to search the posts and even implemented some additional parameters to better navigate by using categories and tags.
After constructing all of this I started optimizing what I had for mobile use and from there began to think how else I can make the site more central to everything I do.
I then decided to implement user accounts into the site so clients would have a SSO solution to access the several sites I offer. Which led me into another endeavor of working with REST API. I use invoiceninja for all my invoicing and thankfully there is a plugin offered by them that assists in doing what I needed but not entirely. I wanted a simple way for any of my clients to view their quotes and invoices from the account dashboard and also allow for instant access to invoice.unluckytech.com without having to sign in again. Thankfully invoiceninja has alot of documentation in relations to API and was able to work with the code they already had for wordpress and use it to view the quotes/invoices.
Now I have all my content accessable to the users and any clients can view all quotes and invoices from the account page. Last thing I decided was essential was a ticketing system. Originally I made a contact me form that would allow anyone to send out an email inquiring about any of the services offered. One problem with this is it does not save this individuals information. To solve this I went with znuny which is an open source service desk. Its made in ruby and the documentation is just OK. Ended up scratching my head a few times and even needed to delve into the code to better understand how to run it. Also it only offers documentation on Apache and not NGINX.
After installing and configuring I started looking into their API and there was next to little documentation on the subject. They supported SOAP and REST API and this was all done through WebServices section of the site. After finding some templates from their github and configuring the webservices I experimented with the API through Postman. Once I was able to create and view tickets I included such onto my contact page and allowed users to view the status of their tickets.
The site taught me ALOT over the last 6 months and gave me more of a understanding on the devops, frontend, and backend. I will continue to improve the site as its used but as of now its enough to be considered done in my eyes.