Vincent Ritter

Simple Schedule - Day 16 & 17. Register, Login and sharing progress.

It's been a few days since the last post. Happy to report good progress the past few days with both learning and getting something up and running that works… slowly!

I’m really happy that I’m learning Rails this way and don’t regret my decision to go down this route!

There are 22 commits in the Rails project now, with the majority (95%) over the past few days.

Register & Login

I rewrote the whole code for this 3 times… from scratch. I wanted to get it right. Maybe a bit too much, but I also had to make sure it’s secure as it can be.

However, I am happy that I took the time. I feel it’s at a enough polished state to actually show you.

As it was my first time pulling in assets from my static site and having two different templates for the dashboard, register and login sections I had to do a bit of digging to get that all working nicely. Didn’t take long to find:

render :layout => "account”

Easy enough! I can even call an action:

render 'index', :layout => "account”

Awesome. Yes, I’m new to Rails development! These are in various of my controllers. That basically tells which layout I want to render on the page. Useful!

The database design was… interesting! I am super used to camelCasing everything and found myself doing exactly date. So for example:

  • emailIsVerified
  • authTokenDigest
  • emailChangeAt

I could do it that way… but it quickly looked like garbage. Instead I now seem to be doing it the better way.

  • emailIsVerified -> email_is_verified
  • authTokenDigest -> auth_token_digest
  • emailChangeAt -> email_change_at

So, before:

And… after:

It reads so much better! I’m quickly adopting my methods to use this style too. I’m running Sublime Text, so I don’t really get hints or anything and found that renaming these to be so much easier on the eye… and actually remembering, even when guessing. Yeah, I could use RubyMine by JetBrains… but I also want to learn and not get too much help. Plus, ermm, it is super ugly to look at.

Database migrations are cool, but have also been a pain point… but now I learned my lesson and am way more confident how to set these up.

For local dev I actually decided to use Postgres as it’s just easier for me. I run a nice app called Postico! Really great! I can even log into my database on Heroku.

The reason for re-writing pretty much everything: It’s good to get something to work… and then learn from it and make it much better.

Sharing is caring

With the frontend of the website developed out in the open I wanted to do something similar for the app too. However, it had to be at a stage where it made sense.

Having completed Login and Registration I think it is time to let people in to the ‘alpha’ phase of the project. Although, I wouldn’t even call this anywhere near an alpha. You’ve been warned!

So… for registration head here: https://my.dev.simpleschedule.net/register

Registration, Login and Logout works fully. Registration will send out an email verification email. Login does something similar and will send you an authentication token. These emails are bare. I’ll work on those at the beta stage.

You’ll be logged in straight away, but I may change how that works down the line.

On top, I have decided to open up a public Trello board so you can see what I’m actively working on and will add to this as I go. You can see it here:

https://trello.com/b/fX4lqdxI

Caution

If you decide to play around with the dev site, just be aware that I will be making many changes between now and beta. Things will break! Things will not work! Things will not look right! This is all as expected.

Your account might get deleted in the process as I work through it.

Closing thoughts

I’m having a good time building this. I am not sure what it is about development… but it really drives me. I am not perfect but I love learning and solving problems.

Keep your eyes peeled on the Trello board and feel free to “break” stuff.


If you like to contribute, please email me or let me know via Micro.blog. There is also the Simple Schedule holding site where you can sign up for a beta. On top, there is now a public Trello board with dev site progress. You can visit the 'pre-alpha' website to play around.

For other posts on the challenge, check out the links below:

  1. Code challenge - from zero to web app in 60 days.
  2. Code challenge - Prelude and Day 1 - Setting things up.
  3. Code challenge - Day 2.
  4. Code challenge - Day 3. Holding page.
  5. Code Challenge - Day 4. A login page and a few tweaks.
  6. Code Challenge - Day 5. Registration page and preliminary app navigation.
  7. Code Challenge - Day 6. Getting in the groove, new events, MVP considerations.
  8. Code Challenge - Day 7. 'My Events' view.
  9. Code Challenge - Day 8. Burning the midnight oil, loud music and good progress.
  10. Code Challenge - Day 9. Progress, changes and regrets.
  11. Code Challenge - Day 10. There are no events, pricing thoughts and badges.
  12. Code Challenge - Day 11. New logo, further changes to event details and a tiny tweak.
  13. Code Challenge - Day 12. Final frontend stretch.
  14. Code Challenge - Day 13. Choosing Rails, getting into the swing and thoughts on a multi tenancy app.
  15. Code Challenge - Day 14 & 15. Blog post thoughts, passwords and learning.
Close