Ask HN: If you needed a crud app built, how would you build it?
Let'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?
38 comments
[ 2.7 ms ] story [ 22.1 ms ] threadThe 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.
https://jhipster.github.io
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.
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.
Yes: Spring Boot
No: The fastest dirtiest way I could think of. Rails scaffolding
Laravel has a super great ecosystem: Great Community, Laracasts.com, http://laracon.us/ (us conference), https://laracon.net/ (online conference, this Wednesday btw), https://Forge.Laravel.com (Server creation AWS/DO/etc, connect repo, deployment), https://envoyer.io (zero down time deployment)
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.
Apache Groovy had a similar problem which also helped caused its decline. It joined the ASF 2 years ago, but it was too late.
You could define model-classes abd it wad 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.
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.
[0] http://formbit.co
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.
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.
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
[1] https://github.com/FriendsOfCake/crud-view
Most times by going through this exercise you realize you actually don't need to build anything and Google Sheets suffices.