So first step was to get social logins to work. And in doing this I didn’t use TDD to test it. Mostly because I didn’t know how to really test Socialite’s callback functions correctly. So I just did the usual refresh method to get things to work. I can now successfully create a new account with a social account, and can connect all the services to one account.
I did have to make a change to my workflow, for the majority of the work I’m going to be using my laptop now. This is because the IDE (Codeanywhere) for the online version of doing collaborative coding sucks. It doesn’t have auto complete, nor PHP syntax highlighting, and I can’t jump to a function from with in another page. Which are two peices of workflow that I use readily so I decided that most of the work down outside of php can be done on the server through Codeanywhere — web design/html/css only stuffage with little php changed.
I have successfully created a profile page through TDD. It wasn’t difficult really. But then in theory it’s not.
My next decision is to decide what’s on the Dashboard page. At present I’m thinking a list of quick links for things like creating a new collection, adding a daily log, and potentially a quick habit tracker widget, as well as the Index page which is the bread and butter of the Bullet Journal.
I’ll probably include a mini calendar widget as well so that you can easily click through your days. So I’ll probably start out with an sketch of the interface so I can easily see what elements I can test for TDD on the page. As design I’ve been doing secondary to functionality. And much of it will change while I deal with new elements.
I’m hoping that in the beginning I’ll be able to wire in some Livewire widgets. That should be an interesting task as I’ve never used livewire before. And I’m not 100% sure how to do it. So we’ll see. I am going for TDD php testing above all, and if it’s going to end up being a typical web app that’s okay. I might have to show single page app in a different project. But php and specifically laravel is my goal.
Today again another friend and/or family member posted
Thanks for the tip to circumvent Facebook… Works!! I have a whole new profile. I see posts from people I didn’t see anymore. Facebook’s new algorithm picks the same people – around 25-who will see your posts. Hold your finger anywhere in this post and click ” copy “. Go to your page where it says ” what’s on your mind”. Tap your finger anywhere in the empty field. Click paste. This is going to circumvent the system.
Hello new and old friends!
And I’m like REALLY – you know that doesn’t work right. I have five queued up links I could post to them but really WHY do people think THAT statement works? I get not everyone is a programmer. But HOW does posting that fix the algoritm? What key word says hey put my post at the top of someone’s feed.
You really want to help your friends see your stuff tell them exactly how they can put you first on the feed! I found an article that explains three ways a person can do that. And a more detailed article that explains it from a business point of view.
I really don’t understand HOW someone even clueless technology people think that will work. I suppose that it’s the same people who think posting a ‘disclosure’ statement on their feed overrides the terms and service agreement they signed when they clicked sign me up. Of course, no one actually reads those things, but still…
This change is likely to happen over and over again while I work on this project until I get to a point where the change becomes an issue.
I had intended to utilize VueJS as the front end. However as I really want to try to work with it I’m going to switch to Livewire and Apline JS instead. This change will ultimately remove the ability for the site to go OFFLINE. Since the sync function is a nice to have feature and not a hard requirement, the only modification will be the ability to port this AS IS to a phone or desktop app that can work offline.
After the idea was created and the basics speced out I had a few decisions to make. How to code it.
Since I’ll probably poke at it whenever I get a chance I needed the ability to access all code and all tests online, so I decided to use my own personal digital ocean hosting account as I’m not really using it for anything except a few off the wall things that get hardly any traffic. So developing in this fashion should affect no one. Even my blogs are hosted at wordpress.com.
With that out of the way I am able to do the initial install of Laravel, set up the domain, SSL certificate, and create the github repo.
And that’s where my first day ended. Up next getting Socialite and Sanctum to play nice together. There will be no TDD for this part more than likely. I will try to write tests for user creation, and login etc after the fact. But I’ve never used Sanctum before and Socialite only once before and never together (obviously).
The first step in this grand adventure of writing a web app from scratch and documenting it was to decide on an app. As I mentioned in my introduction I have a lot of ideas for lots of things including apps I’d love to have. Granted most of them tend towards writing utilities that would be great to have, and use, to games that could be fun too. But there was nothing that really called to me and said I’m a good show case of your talents and was not wrapped up in a lot of mechanics.
Some of the ideas that were on the table – a writing editor/IDE, an epic ebook, and a dnd like text based game. But of course those didn’t win out the idea of an all encompassing journaling app has always been on my radar since I wrote my first headache tracker app way back when. I don’t even know if I still have the code for it anymore as it was pre Github days and I didn’t even know what source control was back then. It was the dinosaur age!
Combine that idea with my love of simplicity of a bullet journal that I can never quite get my hands around. The idea of an analog book is great until I forget the journal… (and I’m quite forgetful – I have alarms to eat lunch and go home at work!)
I have worked out a basic spec – something I don’t receive where I currently work as I’m a solo dev in a place that isn’t about developing and I have no external clients – just us.
You can find the spec here on this website, and you can check out the app as it progresses (Mind you it WILL break as I’m coding it on the server for reasons I’ll explain in another post – this is not good practice and this is not a production site.)
I have a design in programming, but I have a keen eye for design and do take a stab at many different aspects of Graphic design as it pertains to Web pages including the entire design and simple logos.
On a personal level I like to consider my a programmer first, a parent second and a writer in between. Or as I usually write “Web Developer by day, Parent by night and a Writer in between.”
I am married to a man I met online way back in 1998, but we’ve only been married since 2001. We have two lovely daughters, but my husband has a son who I love dearly. And with him I have two grand-babies that are his, and two others from his wife who I also love dearly.
We all currently live on the Gulf coast of Mississippi which is a far cry from where I grew up in Denver Colorado and later upstate New York. I spend 4 years on Long Island avoiding New York City as much as possible – though I do regret that slightly now that we are probably never going to go there again. But you never know – retirement and all.
I have way too many ideas for too many hobbies there is not enough time in the day to do them all — including this one. But it’s for a good purpose so I will endeavor to blog about this adventure into showcasing the creation of a web app with technology I mostly use on a day to day basis and while I learn a lot by doing!