azdevs / azdevs.org

{az}devs website (coming)
https://azdevs.org
MIT License
8 stars 2 forks source link

Decide on tech stack #1

Open therealklanni opened 5 years ago

therealklanni commented 5 years ago

Objective: frictionless development and devops

Framework

CSS library/framework

Native Mobile?

troym9731 commented 5 years ago

Elixir is out if we are using Firebase. I guess at this point, do we want to use any sort of framework? If we're going to use anything, I'd prefer to mess around with Elm, but perhaps vanilla is the way to go.

As far as native goes, what kind of native mobile app are you thinking?

alexsasharegan commented 5 years ago

+1 Vue

alexsasharegan commented 5 years ago

Wait a second, what are we building exactly?

troym9731 commented 5 years ago

Basically a redesign of the current site. One day, we might expand the functionality to include more features like letting recruiters post to a specific channel that people can easily opt-out of or something. So yeah, it'll never be a big thing, but could be fun to mess around with something.

therealklanni commented 5 years ago

Elixir is out if we are using Firebase. I guess at this point, do we want to use any sort of framework? If we're going to use anything, I'd prefer to mess around with Elm, but perhaps vanilla is the way to go.

Well, I do think we want a framework of some sort. The plan with our Elixir attempt was to have an admin panel for accepting or resending invites, and a job board that can be posted to without needing to be a Slack member. So definitely enough functionality to warrant needing a framework of some sort.

I'm personally not too interested in Elm. Also, like we talked about privately, at this point I would prefer using something with minimal friction. That way we can just focus on Getting Shit Done™️.

As far as native goes, what kind of native mobile app are you thinking?

I wasn't really thinking of anything, just throwing the idea out for brainstorming. I think ideally (or at minimum) we just design it "mobile first".

therealklanni commented 5 years ago

One day, we might expand the functionality to include more features like letting recruiters post to a specific channel that people can easily opt-out of or something. So yeah, it'll never be a big thing, but could be fun to mess around with something.

Yeah, definitely want a MVP approach. We can iterate and add features. Definitely don't want to try tackling all the "new feature" stuff right up front.

Basically a redesign of the current site.

Redesign, but also rebuilding it from the ground up. The original (current) site was built from a weekend project I built as a way for low-technical-aptitude people to easily stand up a "request invite to a private Slack" website. So when we set it up for our Slack it was just quickly hacked together.

therealklanni commented 5 years ago

So just to weigh in my opinion, I think I lean towards Vue for its simplicity. We should be able to develop quickly, I think.

troym9731 commented 5 years ago

Well, I do think we want a framework of some sort. The plan with our Elixir attempt was to have an admin panel for accepting or resending invites, and a job board that can be posted to without needing to be a Slack member. So definitely enough functionality to warrant needing a framework of some sort.

Ok, cool. I'm down.

So just to weigh in my opinion, I think I lean towards Vue for its simplicity. We should be able to develop quickly, I think.

Sounds good to me, I just have zero interest in Vue. I'll help where I can, but I can't guarantee my motivation will be too high.

therealklanni commented 5 years ago

I just have zero interest in Vue

Well, what would you be interested in?

troym9731 commented 5 years ago

Nothing that I could guarantee wouldn't cause friction, so I think we should go with Vue. I can rewrite the UI on my own after v1 😁

therealklanni commented 5 years ago

Well by friction I just meant learning curve, etc. For example, with Elixir we had to learn a whole new language. It was definitely fun, and I love Elixir, but our inexperience also lead to hurdles we ultimately couldn't get over. So "less friction" in that sense.

troym9731 commented 5 years ago

I think the only hurdle we couldn't overcome was the postgres integration with Phoenix. We just had that one weird issue. Elixir itself only seemed to be the issue because of its infancy, although most people using Phoenix at that time also used Postgres, so I have no idea what was happening haha. And neither did the Elixir Slack!

But I understand the benefits of using something like Vue, as it has a low barrier of entry for others not including this team. Elm has a much higher barrier of entry.

therealklanni commented 5 years ago

I think the only hurdle we couldn't overcome was the postgres integration with Phoenix. We just had that one weird issue. Elixir itself only seemed to be the issue because of its infancy, although most people using Phoenix at that time also used Postgres, so I have no idea what was happening haha. And neither did the Elixir Slack!

But I understand the benefits of using something like Vue, as it has a low barrier of entry for others not including this team. Elm has a much higher barrier of entry.

Yeah, definitely agree. And like we recently discussed, if we started it (Elixir) over again from scratch we probably wouldn't run into those issues again. It was mainly due to the fact that Phoenix and the ecto Postgres stuff was still pretty young in relation to each other. Totally agree with you. Anyway, neither here nor there :)

therealklanni commented 5 years ago

I wrote up some bullets on why (in my own opinion) we might consider one over any other. And in the process I think I talked myself out of considering Angular. Do we want to just scratch that one off as well?

And feel free (anyone) to throw out any points for why you think one might be better.

therealklanni commented 5 years ago

And moving on to CSS library/framework... Thoughts?

troym9731 commented 5 years ago

If we can, can we wait until we have a comp or wireframe first? I don't recommend going down the path that I did last time haha

therealklanni commented 5 years ago

I'm not saying we need to decide now, just noting that the conversation has moved on to the next topic. 👍

chuckdries commented 5 years ago

Can I humbly suggest we don't need a front end framework for the whole website? Like perhaps the registration form can be embedded vue just because form validation by hand is such a pain, but like - client side routing, even client side rendering of anything, seems like insane overkill for essentially a list of links and a form. At the very least we should pre-render every page because they'll always be the same... maybe start with something like nuxt or (probably the better option for this scenario) gatsby? Is there a vue-equivalent to gatsby?

chuckdries commented 5 years ago

Also +1 typescript no matter what stack we end up using

James-Quigley commented 5 years ago

+1 for something like Gatsby, Next, or Nuxt. This is mostly a website and not a webapp

therealklanni commented 5 years ago

@chuckdries @James-Quigley

Thanks for the input, guys, but just to let you know we're planning on making it more than just a web site after MVP. We had long ago planned on some additional functionality such as an admin view that allows us to check/resend invite status for people requesting access (sorely needed), as well as possibly a Jobs board. So Gatsby et al will likely not cut it. That being said we already decided on Vue as far as that goes. Right now we're discussing what CSS solution (if any) to use.

therealklanni commented 5 years ago

And just to have it said, we are still considering Nuxt as a future enhancement. Anyone is welcome to put together a PR if you want to try implementing it now, but I personally don't intend on touching it until we get MVP finished.

To put it into perspective, we already have Vue Router and Vuex, and being a SPA we wouldn't get Vue Server Renderer from Nuxt anyway. So it seems the only benefit we might get is the prerender of the base route (/).

I'm all ears, though, if anyone feels strongly about it. And again, feel free to open up a PR if you want.

James-Quigley commented 5 years ago

Gotcha, that totally makes sense. Didn't know the full intended functionality, so disregard my comment.

mxygem commented 5 years ago

I won't really be of any help in this discussion as I'm one of those back-end type folks that's had minimal experience with Vue and a child could probably CSS better than I can. Just make a choice already! :stuck_out_tongue:

therealklanni commented 5 years ago

Yeah @troym9731 make a choice already ;)