asqwrd / trotter-api

0 stars 0 forks source link

Evaluate our choice for backend #1

Closed asqwrd closed 6 years ago

asqwrd commented 6 years ago

Sam can look at what I have so far and determine whether it is good enough to keep going forward with Node or use a better framework or language

sam-lowenkamp commented 6 years ago

A few questions on this front.

  1. What type of data will we need to store per-user? For starters, I imagine we'll want to have a User model for authentication + associating data to a specific user. I imagine we'll want some notion of a "trip" or of "interests" etc --- all of this sounds relational to me.
  2. I see we're using Firebase --- is Firebase just a non-relational data store but hosted by Google?
  3. What languages do you like / are you familiar with? I'm super comfortable with Python and Javascript and have a passing knowledge of Go (used it at a previous job but it's been ~a year). I liked Go a lot and would love to use it if it fits our needs. I don't particularly like Javascript and would prefer to keep it on the front end. Generally, though, I think it's best to use whatever the most people are comfortable with.

Languages aside, if we decide to go with a relational db, I'd be in favor of choosing a framework / ORM to handle most of the DB management. If we go non-relational, I'd probably argue we stick with Firebase until it starts to cost money and then migrate to ... something else? We can use a thin server library to communicate between the front and back ends.

Disclaimer: I prefer relational to non-relational databases :)

asqwrd commented 6 years ago

I dont have a preference as far as backend and would rather go with what is best and scales. I kno most backend engineers i work with loath node lol because of javascript. right now firebase is handling authentication. And i also stored a map of all the city and country ids from sygic in it. They provide that and I was planning to use that for autocomplete while searching so we are not hitting sygic but our own db. Google has something called firestore which I am using for the city and country map not sure if that is relational or not. But it is documents instead of json objects. You can read up on it too and let me kno what u think

sam-lowenkamp commented 6 years ago

I think for now we're good with Node + TS. We can keep using Firestore until we decide we need a relational DB, then I think it would make sense to move to a top ORM --- I have most experience with Django (python) but would be very open to trying out a Golang one for fun.

Let's mark this closed?