kernology - where laurie and learning meet
  • Home
  • Blog
  • Pictures
    • Art & Craft >
      • Temari
      • Yubinuki
      • Quilting
      • Weaving
      • Lapidary Work
      • Metal Work 2010
      • Metal Work 2009
      • Classes - 2010
      • Classes - 2009
    • Boots
    • Views of Texas
    • Views of Scotland
    • Travel >
      • Bunny Bravehart Road Trips
      • Scotland 2012
      • Maine 2011
      • New Mexico 2010
      • Scotland 2008
  • Oh, the places you will go!
  • Contact Laurie

A Month Flies By..

9/21/2022

0 Comments

 
I can't believe a month has past and I haven't update what I have been doing... Which is not much except for working on the Tool(ing) Tracker application.
I have 140 registered users but 8 have never logged in once!; gonna have to followup with them.
There are about 20 users who are really working on it with various users having created 14 Tool Types, 46 Tool Categories,  and 320 Tool Items.

And so far I have added the ability to import/parse PDF invoices to automatically create Tool items.
I have also created a website crawler to crawl the PotterUSA website to get the SKU, Name and Image of current products for a Product Image Gallery; which I finished yesterday. The crawler has already gleaned 1000+ records

I am currently working on a User Image Gallery where the users can have lots of images of the their Tool Item and even images of finished products. 

From there I add the ability of a user to attach a picture from the Product Gallery or from their Image Gallery to their Tool Item. 
Picture
0 Comments

It's ALIVE!!!

8/27/2022

0 Comments

 
On Thursday, August 18, 2022 I announced in the Potter People FB group that it was "ALIVE" and along with a link to the website I let my potential users register for an account. 

Yes, I pushed the code to "PROD" as we like to say in the coding world. The Tooling Tracker was published to the server and I felt it was time for the (possible) users to have at it.

I was done with most of basic features and I figure I would go the Microsoft route and let the users find if there were bugs I had not found, and fixed.  So far only ONE bug has been found by a user and I found 3 others all of which have fixed.

As of today I have 91 registered users and they and I are slowly adding the info to their accounts. 

As I was adding my items I came across a few things that I felt should be changed: Increase the field size for the SKU, Name, and Description on the Tool Item record; set the default page size to 10, it was 5; add the Order # to the listing page; have the quantity field default to 1.

And for an enhancement for bundles, kits, and boxes have a check box that say's the item (with purchase price, etc) is a parent item. Then allow for other (child) Tool Items to be created and tied to the parent.  I am working on this now and hope to have it released in the next few days. 

Along the way I have also made some enhancements for the Webmaster (me!) to help manage the users.

As I said in the prior post, I decided to make this dontation-ware and a few people have donated which is nice. I don't know how big this get and the database could be very big given the number of people who use PotterUSA tooling which might require subscription to cover costs but I will cross that bridge when I get to it. 

Time for me to get back to coding!
Picture
0 Comments

About "That Thing"

8/17/2022

0 Comments

 
Last time, I wrote about working on "a thing"; well it's almost ready for the world. 
BUT WHAT IS IT ???!!! you ask
Sit back with a cuppa and get ready for a long tale.

Several months, even before the BIG WALK, I started pondering a database where I could track the tools, I own, for the hydraulic press I have trust me; there is a never ending list of things to purchase. Yes, it's for metal geeky stuff. Some items come with a part number on them but some things, like the rolling mill texture plates and the impression dies do NOT or it's written in marker that eventually wears off. 

To solve my dilemma I started a MS Access database what would have the information I wanted and I could put pictures of the various items in the record. I won't list the fields I settle on but let's just say it's the basic info about what was bought.

After I returned from my month long vacation, somehow in the PotterUSA Facebook group (a.k.a PotterPeople) a discussion began on how do everyone keeps track of  their stuff because many people have bought things two or three times!  Some use Excel, others Word or other text document and of course the question arose about pictures to identity dies that don't have numbers or the number wore off.  I eventually chimed in with my little database application which raised many questions as most members (9.5K+) don't know me or that I write software for fun; crazy eh??  

Some people asked if I would give them "my app" but when I questioned if they knew how to use MS Access (or if they used a Windows PC) I got crickets!

Over the next week I thought about it and I realized that there was a need for an application so others could keep track of their stuff too. I put several polls in the group regarding what devices (desktop, laptop, phone, tablet) and operating system (Winx, Mac OS, Linus, iOS, Android) and oh the confusion that resulted was amazing.  I decided that this application would have to be web-based otherwise I would be spending most of my time providing installation support; upgrades would be a nightmare.

Since I work mostly with Microsoft technology the tech stack I chose is MS SQL Server 2019 with MS SQL Server Management Studio, Visual Studio 2022 as the IDE for coding with the following: .net (Core) 6; ASP.NET with Razor Pages; Entity Framework (for db operations); Bootstrap for the styling; jQuery/javaScript for front end stuff; and various other packages for all sorts of functionality. 

It took about 2 weeks to all this out and then I sat down and created a clean Virtual Machine (VM) on my  development laptop so I could then begin installing all the software I would need. 

To cut a very, very, long story down to just a long story; I resurrected a framework I built 2 years about and upgraded the various backend software to be the most recent. Then I started the real building of the database tables, configuring the UI with a menu, logo and other static pages; then on to the pages where all the user interaction would take place as well as pages for me, the admin/webmaster would manage the site. I also had to make it so a user would only see their stuff - including adding, editing, deleting, viewing and printing. 

This week, the majority of the code was complete so I bought a domain and setup an account with a hosting provider; configured the email system; setup PayPal, Buy Me a Coffee, and Stripe for donations. Oh, I guess I forgot to mention that the application is DonationWare - I am hoping to cover operating costs. I also have it so sample data is seeding into each user account so a user can see how it would work. 

It's now been 3.5 weeks, I have been working on it EVERY DAY of the week, since I started and I just pushed the Alpha version to the remote server and I have been working on/with it to find things that need to fixed. 

During this time I have posted pictures of what the app will look like, in the Facebook group and I have some very excited people looking forward to it. I have a long list of things yet to do to make some parts of administration easier but that can be worked on after I do the first release which I hope will be next week. 
0 Comments

Changing the UI

6/25/2017

0 Comments

 
A month ago, when I left California to move to Texas, all codesmithing on my application (code project) came to a complete halt.  But that is not to say "work" on it stopped.  I have been pondering the UI (user interface).

Since I am using a MVC (model/view/controller) framework for Electron, much of the back end has been already written; the database calls for displaying data, generating the menus from the database, routing menu clicks to the appropriate page and more.  

During this path month, I have come to the conclusion that many of the pages where the user would see data, are not actual menu items. They are the detail pages of a main page and that the best way to display them was via a tabbed interface.  The menu, at this point should only have 3 items: People, Workshops, Setup. For example, when People are selected from the menu, a list of their names will be visible and when the person is selected, then that person's details will appear with four tabs - Person Info, Address, Emails, and Phones.  

Now I have to go back and re-code many of the screens I have already done.  Initially I was not please with that thought and wondered if there was another way to build my application that would be easier for me - such as using Visual Studio and C#; but that would not give me ability to run it on my Mac. Then I looked into Visual Studio for the Mac (yes, it does exist!); I could code in c# but many of the objects I am use to are different and that means an entirely different learning curve.  Now, having slept on this, I am ready to tackle it, in Electron.

To accomplish this, I have to upgrade my skills in Bootstrap and Angular and dive deeper into the framework so that I can load tabs that are not menu items.  

But hey, wasn't this projects supposed to be about upgrading my skills. 

Here is a sample of a tabbed interface in a test project, that I am using to figure it all out.  
​
Picture
0 Comments

Coding Continues

5/14/2017

0 Comments

 
I am actually making progress on my coding project.  This past week, almost no code was written because I was furiously packing for my move to Texas but two weeks ago I got quite a bit done.

I have each of the basic lookup list pages and the major major pages are built.  I also hooked up the drop down using the lookup lists for the foreign key data.  Along the way I made a few database changes by adding some indexes and constraints and then added in some pop-up messages for when a user tries to create a duplicate record. 

I have also moved my private Git repositories out of BitBucket and into GitLab and now I use GitKraken as my UI for Git. 

Next up is coding up the secondary pages for each section. I already have pondered some enhancements for these pages that would make the application better but they are on the to do list as I have to get the basic functionality done first; things like emailing directly from the application, printing, and a calendar view to name a few.

Time to do some more packing and this evening a bit more coding
Picture
0 Comments

Prototyping Completed

4/22/2017

0 Comments

 
Over the past month or so I have blogged about developing an electron application.  

Since then I have prototyped the database, part of the UI and the workflow.  Much of this was done in the languages and tools that I know well - Visual Studio with C# and MVC and SQL Server.  I also did some testing in a sample electron application I set up to try out various tools like Bootstrap, Angular, React, SQLite and a NOSQL/JSON database and I also tried out various Electron frameworks which include some of these packages. 

I have decided to use a BASEL stack - Bootstrap, Angular, SQLite and of course Electron, and all of this is wrapped up in a new Electron framework I found name BASEL. This is similar to the term of MEAN development which is the stack of MongoDB, Express, Angular, Node.  

Why BASEL? There are several factors.
  • SQLite is a cross-platform lightweight db and it is free. As are many GUI to work with it.
  • Angular is a Google tech so it has good support and it allows me to use an MVC design pattern. 
  • Bootstrap is a great front end framework that allow for all sorts theming of controls
  • Electron - I have covered this earlier but again, it allows me to develop a cross-platform desktop application. 
Now I am ready to start the actual development.  Last night I started creating all the tables in SQLite and should be done with that sometime tomorrow. Next week I will be able to start the hard part - writing all that javascript code. 


Picture
0 Comments

Elsewhere in the Coding Universe...

3/25/2017

0 Comments

 
Last week I wrote a tool, in c# to convert SQLServer create table scripts to a format that could be used by PostgreSQL.  

Why did I write the tool and not just do it by hand? Well, there are over 250 tables (266 to be exact) in the database we need to migrate. 

Why not use a tool? Ha, I wish!
I am working on a secure network and getting an application that on the network takes FORE_EVER!
Not only has the application have to be approved to be on the network, getting a paid license takes months and then we have to get it installed. All in all, the process would take 6 months if we were lucky.  

So I figured out what had to be changed and wrote an app that uses regular expressions to find/replace the reserved words and data types and output a new file, one for each table. The app took 2 days to write and a day to run. Now my new database has 226 empty tables. 

On to the next problem... 

I have spent this week working on a tool, yes another one, in c#, to migrate the data from the SQLServer db to the ready and waiting PostgreSQL db. Why am I writing a tool when many exist? See the above reason for that tool and you will get the idea, again.  

Yes, there is an ODBC driver which would allow me to use the SQLServer tools to push it from our SQLServer db into the new PostgresDB.   But we are having 'problems' getting that installed too.

SO write the app I did.  
I started it Wednesday and was completed yesterday afternoon.  I have done some preliminary test and so far it looks like it will do the job. Monday, I will start to test with one table and if that works, I will run it against the entire db.  

In other news - 
And I am still playing with Electron. I am now looking at framework that uses the React Javascript library - "React is a declarative, efficient, and flexible JavaScript library for building user interfaces."

And to that end I have installed the framework named Electron-Forge with the --template=react parameter. Now I have to learn how to use it. And while that is going on I have selected the NoSQL/JSON package named lowdb I will use for the database storage.   Time to get back to the codesmithing
Picture
0 Comments

Eleven Days

3/14/2017

0 Comments

 
11 days and many, many hours later, my first Electron application is (almost) done. 
I have just finished 2 days of work on figuring out how to make a portable executable.
As I build out the application, I created a new code branch which started where the last one left off. That is so if anyone want to look at it all, step by step, it is all there. This is a link to the repository.

So what have I learned along the way?
  • How to code with Node JS which is what Electron is built upon.
  • How to use Electron package/framework to create an application, build the menu, call other pages, write middle ware to respond to events.
  • How to submit bugs to GitHub.. I found 4 long the way.
  • How to use the Atom text editor which I like; 
  • How to use the Sublime text editor, which I don't.
  • Using NPM - the package installer for Node.
  • The documentation on many of these open source packages can be rather lacking!

So what's next? I am going to investigate a framework package (Photon) to add into Electron which can make my life easier and a NOSQL database in preparation for the actual application I want to write.

 ​Here is a picture of my application.
Picture
0 Comments

My First Electron Application

3/11/2017

0 Comments

 
I am now working on my first Electron application.  If NodeJS and these other frameworks (EmberJS, ExpressJS, AngularJS, etc.) allow you to create OS agnostic web sites and applications; someone pondered......
"H..................mm............, why can't you do an OS agnostic application too?"

And thus we now have Electron. Which by the way, is how the Atom editor was created too; and many other applications as well.

So I am now taking my little Ember Bcrypt tool and making it a desk top application.  I am writing it on my Windows 10 laptop and when I am done, I will test it on my Mac. Then at the day job, I can get a co-worker to test it on a Linux box we have.

Stay tuned!
0 Comments

First NodeJS Project Done

3/9/2017

0 Comments

 
I have finished my first NodeJS and ExpressJS project.  Along the way I learned a lot about Atom and the packages that can be installed to make writing code easier.  Then I set up an account on GitHub and added/uploaded my code. 

So what did I code? It is a small web application, written in using NodeJS with ExpressJS that will encrypt a password using the Bcrypt algorithm and it will also validate an encrypted password against a plain text password. 

My goals for this little project was to not only learn the basics of Node and Express but to implement an Model-View-Controller (MVC) pattern without using a package that creates an MVC environment. 

It isn't pretty but it works! The code can be downloaded from the repo BcryptTool.

My next project is to do the same tool but using Electron, which is a desktop application
0 Comments
<<Previous

    RSS Feed

    About Laurie

    Laurie lives in central Texas with Erich, a.k.a. "the shop elf", her hubby of 35+ years and Cowboy Boots, the cat; her metals studio including 100+ hammers and 300+ chasing tools; her sewing studio which has a sewing machine, a closet filled with fabric, hundreds of skeins of embroidery floss and perle cotton, silk and other materials, and Mrs. King the dress dummy; two weaving looms, assorted knitting needles, tubs of yarn; lots of books; plus a plethora of geeky tech gadgets, computers, and more.

    Archives

    March 2023
    February 2023
    January 2023
    December 2022
    November 2022
    October 2022
    September 2022
    August 2022
    July 2022
    June 2022
    May 2022
    April 2022
    March 2022
    February 2022
    January 2022
    December 2021
    November 2021
    October 2021
    September 2021
    August 2021
    June 2021
    May 2021
    April 2021
    March 2021
    February 2021
    January 2021
    December 2020
    November 2020
    October 2020
    September 2020
    August 2020
    July 2020
    June 2020
    May 2020
    April 2020
    March 2020
    February 2020
    January 2020
    December 2019
    November 2019
    September 2019
    June 2019
    May 2019
    April 2019
    March 2019
    February 2019
    November 2018
    October 2018
    September 2018
    August 2018
    July 2018
    June 2018
    May 2018
    April 2018
    March 2018
    November 2017
    October 2017
    September 2017
    August 2017
    June 2017
    May 2017
    April 2017
    March 2017
    February 2017
    October 2016
    September 2016
    August 2016
    June 2016
    May 2016
    April 2016
    February 2016
    January 2016
    November 2015
    October 2015
    September 2015
    August 2015
    July 2015
    June 2015
    May 2015
    April 2015
    March 2015
    February 2015
    January 2015
    December 2014
    October 2014
    September 2014
    August 2014
    July 2014
    June 2014
    May 2014
    April 2014
    March 2014
    February 2014
    January 2014
    December 2013
    November 2013
    October 2013
    September 2013
    August 2013
    July 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    November 2012
    October 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012
    April 2012
    March 2012
    February 2012
    January 2012
    December 2011
    November 2011
    October 2011
    September 2011
    August 2011
    July 2011
    June 2011
    May 2011
    April 2011
    March 2011
    January 2011
    December 2010
    November 2010
    August 2010
    July 2010
    June 2010
    May 2010
    April 2010
    March 2010
    February 2010
    January 2010
    December 2009
    August 2009

    Categories

    All
    42
    Android
    Boots
    Bunny Bravehart
    Codesmith
    Comic-Con
    Covid
    Day Job
    Family
    Fencing
    Fiber
    Health
    Hike
    Jewelry
    Knitting
    Laurie
    Metals
    Minecraft
    Pandemic
    Photography
    Quilting
    Retirement
    Road Trip
    Scotland
    Sources
    Spinning
    Temari
    Texas
    The Big Walk
    Weaving
    Web
    Yubinuki

Powered by Create your own unique website with customizable templates.