synthslave

synthslave

Noob questions: GIS / API / BDD / Bootstrap 4 vs CSS Grid

Hello all, first time posting and looking forward to being a fellow positive, contributing member here.

I am completely new, not only to Elixir, but to programming in general so apologies in advance if questions aren’t phrased in the most “logical” way. I am trying to set up a website to help artists and musicians and have the following concerns/questions:

  1. Are there any special issues relating to using either Bootstrap 4 or CSS Grid with html in Elixir?

  2. I would like to incorporate either GIS data (or JSON file from some GIS type entity like a city or county) to list real time map info on site to show address locations. I’ve been told that GIS data is usually in Python or R. Will doing this in Elixir be a problem? Or is this done via an API which would then be language agnostic?

  3. Any special considerations when implementing an API in Elixir?

  4. Lastly, big reason I chose to learn Elixir to invest time to learn was the concepts taught by Uncle Bob Martin and Rob Martin with their Youtube videos on benefits of functional programming/TDD/BDD. Am I correct in assuming that many issues are avoided automatically by using Elixir since we’re using FP or do I still need to be doing testing on regular basis?

Thanks in advance!
Synth

Most Liked

OvermindDL1

OvermindDL1

Welcome!! ^.^

No issues whatsoever. Phoenix is the back-end, html/css/bootstrap/whatever is all front-end, entirely distinct. :slight_smile:

If you use PostgreSQL as your database it has a FANTASTIC GIS extention pre-included, it could probably do your queries faster than about anything else. And postgresql is the default supported database in a new phoenix project too. :slight_smile:

Functional Programming just means putting functions first, they are first-class values and can be passed around like anything else. The big thing that helps prevent ‘issues’ in my opinion is immutability (Elixir is) and static strong type system (Dialyzer helps here, I always recommend using it via the Dialyxir plugin). Testing is always good to do regardless, and Elixir makes testing a wonderful breeze with integrated doctests. :slight_smile:

OvermindDL1

OvermindDL1

The fact is that PostgreSQL is probably the most advanced database out, including not just SQL but also NoSQL’s in various styles, a very powerful search database functionality, many many extensions, FDW’s (Foreign Data Wrappers that let you access ‘another’ database from inside PostgreSQL all through the same interface) and much much more, in addition to it is entirely free, open source, blazing fast, and included in every linux distribution in existence’s repo’s as well as being trivial to install on Windows while being one of the most ANSI SQL compliant databases out. :slight_smile:

That all depends on what you are making, how it will be accessed, etc… Biggest word of note, keep your functions that ‘do’ stuff in their own modules, do not mix up ‘doing’ stuff in your web-related modules, makes it hard to refactor and/or pull apart or interact with in other ways later. :slight_smile:

Where Next?

Popular in Questions Top

ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
Phillipp
Hey, I have a NanoPi-M3 and try to install Elixir on their Ubuntu image. I followed the Raspberry Pi installation instructions from the ...
New
Codball
Mix format works fine if run from the cmd. I’ve followed this to facilitate the implementation into VSC which involves downloading an ext...
New

Other popular topics Top

pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27162 124
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New

We're in Beta

About us Mission Statement