Kotlin based Content Management System

I have been continuing developing my CMS system I have written from scratch in Kotlin.

The backend web app is written in ReactJS and uses a RESTFUL API to perform CRUD operations on post/pages and users.

I have recently added a Toast notification system for both the CMS and the Kettlebell Competition web apps.

I also added a sitemap XML generator for the static page generator.

 

 

Kotlin based Content Management System and other web apps

I have been spending the last couple of weeks programming a new Content Management System for my website in Kotlin.

Why? What was wrong with the old site?

  1. it used jQuery and was slow loading pages
  2. it was not responsive

I also wanted to learn about REST, Kotlin DSLs and databases.

The new version now has authentication, sessions and only uses JavaScript for loading Feather Icons or on the pages that contain web apps.

Screenshot from 2019-10-06 22-06-13

Due to the fact it doesn’t use JavaScript on the web pages it will be more friendly with search engines and will help to drive traffic to my website.

I am currently porting the old web apps I had on the old website. I have currently only moved Channel Grapher and the DNS Statistics App.

I plan to keep developing this platform and build more websites using it. I currently do not see it as a competitor to any other CMS but mainly as a way for me to learn more about web technologies.

It also allows me to host Kettlebell lifting competitions with my brother!

You can get the source code for the Kettlebell competition app here.

The work-in-progress CMS code is here.

UI updates

I’ve made some minor updates to my ReactJS app Channel Grapher. It is turning out to be one of the hardest parts of the programming process.

I need to get a nice icon for my app and will see if I can get one professionally made when I get a chance.

I plan to use React Native to make this an android app as well.

Solar Powered 18650 IOT ESP8266/ESP8285 Weather Station with UV/Rain and IOT Updates (ThingSpeak)

I have finally finished publishing my completed weather station.

This slideshow requires JavaScript.

The entire design is Open Source and available on the following links:

https://www.thingiverse.com/thing:3601839

https://github.com/wilyarti/weather_station

Have fun and happy hacking!

PS:

The final version has the following features:

  • Improved weather proofing
  • Slanted roof for improved drainage
  • Increased accuracy of Stevenson Screen
  • IOT Updates
  • New ThingSpeak API viewer
  • Rain/UV Index/Pressure/Humidity/Temperature
  • Good battery life
  • Reduced weight and parts

Micro-controller woes

I had two ESP8285 micro-controllers fail on me today (probably due to my carelessness). It is pretty frustrating as I was completing the final version of my weather station.

The new version is more compact, increases the protection to the electronic components from water ingress and now features a slanted solar panel. It also has a USB charge port.

I had to add an incline to the solar panel due to pooling of water causing discoloration to the panel of my currently deployed weather station.

IMG-f395facd3f5fa9ca7da534a8c38348f1-V.jpg

I will now have to wait for more parts from China!

 

Simple IOT Clock

I built a cool little clock using an ESP8266 and a dot matrix display I got for $8. The total cost will probably be under $20.

The clock uses NTP to sync the time, then updates the second ticker on the bottom every 2 seconds. When the minute changes it updates the entire display.

It didn’t take too long as I used code by others (NTP client, WiFi Manager, MD_MAX72xx animations).

Code is here.

IMG_20190329_090701__01.jpg

Improving water proofing in my Weather Station

We had a few severe thunderstorms where I live and I the wind and rain caused damage to my electronics in my outdoor weather station.

IMG_20190316_134804.jpg

The weather station is waterproof if there is just light rain, but strong winds will blow water into the Stevenson Screen damaging the electronics.

I have decided to seal off the electronics as much as possible – hopefully this new construction will be more robust.