
Ask HN: What is your hackathon or weekend project software stack? - ageitgey
I had a discussion with a co-worker over whether we prefereed to use Ruby&#x2F;Rails or Node.js for a typical &quot;weekend project&quot; that required a web front end with user authentication, some kind of data store, and maybe a REST API.  This led to a discussion of what frameworks we used as a go-to recipe for starting a new project.<p>I&#x27;d really like to hear the exact language&#x2F;framework&#x2F;scaffolding combinations people are using for building quick web projects and testing out start-up ideas.<p>If met someone today with a brilliant idea that you wanted to launch in 48 hours, what exact tools would you pull out of your tool chest?  Do you start from scratch?  Or do have a go-to web app template you&#x27;ve built yourself or maybe you pull down someone else&#x27;s scaffolding?  What things have you tried in the past that you wouldn&#x27;t use again?<p>I think we can all learn a lot by seeing what everyone else is using to build and launch quickly.  It would be great if you could include links to any specific tools you use that are less familiar to people.
======
johnymontana
I came across this hackathon starter project a few weeks ago:
[https://github.com/sahat/hackathon-
starter](https://github.com/sahat/hackathon-starter)

Have not used it yet, but the stack (node.js, mongodb with mongoose, express)
is similar to what I use in my day job so planning to start my next weekend
project with it.

~~~
krapp
I've played with it. It's nice. But in my defense, it's literally the only
Node framework i've ever touched.

Had to switch out Jade for twig though. Significant whitespace for html
templating... _shiver_

~~~
dangayle
I've never seen Jade before.

Python + Jade + CoffeeScript + SASS (original syntax) = No more braces evar!

~~~
krapp
I like braces though. And raw html. And I don't think tools should enforce
significant whitespace if they compile to languages which don't care about
whitespace.

And this makes me horribly, terribly behind the times and now i'll just be in
the angry dome...

~~~
dangayle
Ha ha, that's what makes me a Pythonista and you not one :)

I like the idea because it (presumably) forces conformant html. The end result
that gets sent to the user should be compressed and minified anyhow.

~~~
krapp
It's a fair cop.

------
lugg
There was a post a couple weeks ago along the exact lines of this. The guy
actually released the framework ish thing he used on github. Its a node pleb
stack link: [http://www.rm2kdev.net/2014/02/built-full-application-two-
da...](http://www.rm2kdev.net/2014/02/built-full-application-two-days/)

I got to working on something using this but wasn't a fan of a few things so I
ripped it apart and created my own from scratch. It was a good learning
experience in any case but all I ended up changing was a couple of requires,
made the configs a bit cleaner and included https by default. Usually you do
that with a nginx proxy but I like to keep things pure and stand alone if
possible.

After learning a bit from that I'm now only using it as a rest api back end.

My front end stack is amounting to something like this so far:

\- Angularjs and or node express MVC with mustache

\- Suitcss for the obv

\- Busterjs to test

\- Gulp to build

\- Component.io to manage deps

\- mongodb (its unstructured way is great for weekend projs)

There are a lot of options, and a lot more options the lower you go. I.e
PayPal or stripe, express or restify etc etc. Those are mostly per project
preferences to me so I didn't bother listing.

I still need something for doc generation needs to be node based or at least
hackable to be. If anyone knows anything good let me know. I dont really like
what's out there I prefer something highly automated even if its a pain to set
up its worth it when it comes to docs.

Speaking of generation again I'd really like to see an api crawler / client
lib generator for express. Anyone know of anything?

I also need more easy setup ci options.

Edit, didn't really answer your question: I tend to avoid app templates and
generators like yeoman. They never really suit me and my tastes, maybe I
should make one? Heh.

------
ohsnap
I use angular/bootstrap/parse.com. use yeoman angular to get everything in
place.

I'll then use a s3 bucket as a website when I want to 'go live'. The backend
as a service can be a huge time saver for quick projects - immediately you
have your datasource+authentication taken care of and can worry about other
things.

------
dangayle
I've ran two hackathons, and I keep turning back to bottle.py + mongodb on
Heroku. It's the fastest to spin up and modify by a long stretch.

Give MongoDB as much gruff as you want for whatever reason you're predisposed
to hate on it, but it's IDEAL for a hackathon where you just want to get stuff
done.

~~~
lugg
Have to agree, mongo is seriously good for spin up as you put it, pretty much
zero configuration, define your "database" schema directly in your app as you
make your models (at least thats how it works with mongoose.) Can't get much
faster than that. How does the python side of things go?

I don't really understand the hate for mongo.. most of the problems people
have with it are problems said people would never face with any data store.
Its good at what it does. I think it mostly becomes a problem when people try
to use it for something they should be using a relational database for.

~~~
dangayle
Bottle or Flask are really simple microframeworks. Define your path, define
your function, done. There are similar things for other scripting languages
like Ruby and Node, but I'm not familiar with them.

------
krapp
I have XAMPP for PHP, with starters for Slim Framework and Laravel 4 all set
with Twig, Bootstrap and/or the HTML5 boilerplate, also a development install
of Wordpress for testing plugins and custom themes. I've also got node.js
running now, but I hardly use it yet.

------
Doctor_Fegg
I use my own Ruby framework: more capable than Sinatra, less complex than
Rails. It's basically Rack, DataMapper, Postgres, an admin UI, and a few
reusable bits that I've coded for previous projects (principally user auth and
caching).

------
notduncansmith
Node.js with Bogart (promise-based framework similar to Express), Redis or
Postgres, and Foundation. It helps to have a Yeoman generator specifically for
it. yo bogart in any directory and boom, ready to roll :)

------
nherment
node.js, primus (for websockets), angular.js and mongodb it's all ready to use
in [https://github.com/nherment/node-
boilerplate](https://github.com/nherment/node-boilerplate)

