
Ask HN: If you needed a crud app built, how would you build it? - drewrv
Let&#x27;s say you needed a simple inventory or scheduling app built. Would you hack something with Google sheets? Build from scratch with rails or django? Use a saas tool or WordPress plugin? Something else entirely?
======
digikata
I guess I'm the "something else entirely" vote. If it's mostly for internal
use, I would shy away on build on a platform stuff, and find a "form builder"
type app with web server capability or a web service. Google sheets feels a
little light for this purpose, but likely could be done at some maintenance
cost as your number of forms grows.

The first hit in my search was zoho creator or Airtable (but I know nothing
about either) - I was looking along the lines of something like Filemaker for
the web. And just to keep growth in mind, be sure to have a way to export the
database and form/field content. That way you can keep the option for a more
custom build scenario later.

Edit: added a google sheets comment.

~~~
danpalmer
Seconding Google Sheets.

We have a large and mature codebase, but we're always iterating with new
features. These often require data entry by experts in the company (in our
case, stylists, marketers, copy-editors, etc), and the first-pass at the CRUD
behaviour is usually just a spreadsheet. Everyone understands them, and most
editing/coordination is done in a sheet while a developer builds the models
and front-end in the main site (Django), then a simple import script using the
Python Sheets API sticks all the data in the database in one go. The second
iteration is usually a simple management interface of some sort or user-
preferences.

~~~
brianwawok
If you already have Django, why not just use Django admin? Give the users a
crud app in 5 minutes and skip the import step.

------
sparkling
Django running on Heroku. Its easy and fast to start with if you end up
needing to expand, it has the options. Also if you need a API later on, you
can just slap Django Rest Framework on top of you app and reuse most of the
stuff.

~~~
rochak
I second this. Django with its Rest framework is an awesome combo.

------
tedmiston
Django because I'm already good / fast at it. If you're already at that level
with Rails, use Rails.

One challenge of the Django approach today is deciding between a modern or
"classic" front end. I think the answer is not black and white and really
depends on the amount of interactivity in the app.

I would not use Google Sheets as the backend for anything more than a side
project based on performance issues mentioned by others who have done so.
Still, I think it's a really cool idea. I've considered trying to write a
(partial) Google Sheets backend for the Django ORM.

------
skyisblue
If the app is very simple and you don't want to maintain your own servers, i
would go with Google sheets, forms and app script.

~~~
paulcole
I actually do CRUD apps and utilities made with Sheets and Apps Script as a
(very small) evening business. Fun to hack away on little projects that
provide real useful value for businesses.

And you can actually get pretty complex systems going with a lot of planning
and lateral thinking. Really makes me respect real software architects and
designers.

I'm a writer by trade so it's a fun change of pace for me.

------
vanderreeah
Laravel - it has built in authentication, and a while ago I cobbled together
an artisan command that basically builds the model, controller, migration, and
all necessary views with one command. It _still_ feels like too much
repetition is involved in what by now ought to be as simple as pressing a
button.

~~~
ser0
I throw in my vote for Laravel. Also, have a look at any of the following
starting projects some of which include form generators.
[https://github.com/chiraggude/awesome-laravel#starter-
projec...](https://github.com/chiraggude/awesome-laravel#starter-projects)

------
rman666
Ruby on Rails

------
voycey
I would throw something together with a RAD framework like CakePHP.

Basically you design an ERD to Cake's specifications, install Cake, install
the very excellent CRUD plugin[0] and CRUD View [1] if you want scaffolded
views and it's done!

Depending on the amount of functionality you needed on top of basic CRUD there
is no reason why you couldn't have something up and running in a couple of
hours

[0]
[https://github.com/FriendsOfCake/crud](https://github.com/FriendsOfCake/crud)

[1] [https://github.com/FriendsOfCake/crud-
view](https://github.com/FriendsOfCake/crud-view)

------
saluki
Build from scratch using Laravel.

Laravel has a super great ecosystem: Great Community, Laracasts.com,
[http://laracon.us/](http://laracon.us/) (us conference),
[https://laracon.net/](https://laracon.net/) (online conference, this
Wednesday btw), [https://Forge.Laravel.com](https://Forge.Laravel.com) (Server
creation AWS/DO/etc, connect repo, deployment),
[https://envoyer.io](https://envoyer.io) (zero down time deployment)

------
codegeek
Depends on your language of choice. I am personally leaning towards
PHP/Laravel Framework these days even though I am a big fan of
Python/Django/Flask as well. Great thing about Laravel is that it bundles
vue.js out of the box along with abstraction for webpack etc. So it is has a
good mix of frontend and backend infrastructure to get things done very
quickly.

I also work a lot with WordPress but if I had a choice, I wouldn't build a
CRUD app from scratch using WP. But with its awesome ecosystem of
themes/plugins, you could technically do it with WP as well.

------
tummybug
If you need it to be really simple django and customising the admin. Have done
this for a simple ticketing system and had something surprisingly stable in
about 8 hours work.

------
rafiki6
I'd size it out based on initial requirements and take it from there. Some
things to consider 1) how much "stuff" do I need to keep track of 2) What's
the fastest way for me to do it 3) what's the implications of doing it fast?

Most times by going through this exercise you realize you actually don't need
to build anything and Google Sheets suffices.

------
humbleMouse
angular/groovy/mysql/springboot/hibernate - make the hibernate object model
and the code writes itself. Run an embedded tomcat7 server in the WAR for easy
deployment.

The bad part about this stack is that it takes some maven config to set up,
but once it's running creating new crud apps becomes trivial.

~~~
sheraz
Hasn't someone packaged this up into a nearly turnkey kind of application?

~~~
AlexAMEEE
I think you are talking about Jhipster.

[https://jhipster.github.io](https://jhipster.github.io)

------
znpy
Grails used to be awesome for this kind of stuff.

You could define model-classes and it was able to auto generate working, good-
enough database tables (using hibernate) views and controllers. All pretty
mich easily customizable.

Think of rails, but on the jvm, with performance.

Sadly, it's a pretty dead project.

~~~
vorg
One reason it's dead is because Grails has issues with its governance. Look up
the DNS details for its website (grails.org) and you'll see the same single
individual listed, with a blank organization field, as the contact person for
registrant, admin, _and_ tech. A project run by a single dictator instead of
many leaders cooperating together within some organizational structure, not
even a loose one, isn't one users are going to trust.

Apache Groovy had a similar problem which also helped caused its decline. It
joined the ASF 2 years ago, but it was too late.

------
realPubkey
Nodejs, vuejs, couchdb, rxdb.

~~~
robodale
I second this

------
grok2
I would use Vaadin -- lots of components and you can develop both front-end
and back-end in Java. [https://vaadin.com/](https://vaadin.com/)

------
spacetimecake
Meteor is my goto for most simple applications. It has packages for auth,
account management, and a simple admin UI as well. Will have the CRUD up and
running in an hour.

------
AlexAMEEE
Money involved ?

Yes: Spring Boot

No: The fastest dirtiest way I could think of. Rails scaffolding

~~~
quantumhobbit
This explains so much of what I have seen in the Spring/Java community.

~~~
AlexAMEEE
What do you mean ?

------
jenkstom
Plain old Django.

------
raarts
It depends on what you already know of course but Laravel or Meteor.

------
taf2
rails new bam

------
tugberkk
XAMP stack, using PDO.

------
theoneone
Laravel and MySQL

