I think my head has been in the clouds a bit. Not that that’s a bad thing, but after tonight’s mentor session I went to, I think I’m now back down on Earth!
After the research I’ve been doing over the past few days, I’ve now decided to abandon that and build this app with what I know. The app, which I’m calling GFT for now, is something I actually want to use, and something I just want to get out there. And while I do want to learn how to use serverless functions, and more of the AWS services, the time it would take to learn those would add a lot onto the time of building the app which is actually more important to me.
I also learned that serverless may not be the best way forward for this anyway, since serverless functions (in their current functionality) are best for running periodic jobs and not necessarily good for running RESTful routes, since it takes a bit of time to spin them up initially. Also for a site like this, server side rendering is likely to be faster since there will be so many data queries. I also learned about some great 3rd party APIs that I can work into the project to manage things like image resizing and user authentication, which will also speed up getting an MVP completed.
Through all of this I realized I may have a lit bit of a leaning towards perfectionism since thinking about the ‘right’ way to start this project has been preventing me from actually writing any of it at all!!
All of that said, I did really like what I started learning about serverless and the Serverless framework, so I’m not giving up on them! I will find other ways to learn about them, maybe on smaller projects that aren’t already so overwhelming.
So now I am going to start off by building a monolith like I know and love…it will be a Node app using Express. I will probably use Postgres with Sequelize…a sentence I never thought I’d say after the last time I used these in a project! I might try deploying it on a Digital Ocean droplet to start, and am going to have a look at using Auth0 for authentication instead of Passport—that way I don’t have to worry about storing usernames or passwords on my own database servers.
Or hmmm maybe I actually don’t want to just hand that over to someone else.
Ok so still some things to think about! But at least I can get started with the basics.
I actually won’t have any significant chunks of time to work on this for a few weeks due to some work stuff and travel…so updates may be few & far between!