I mean what you use really comes down to your team. I would normally pick a relationship database over an object store for reporting and other things down the road that are much harder to do with a DB like MongoDB. As for language, I would pick Elixir as it does these things really well but that because that is what I know best. Python or Node.js are also sure good choices. Whoever is building should probably pick the language, framework, and database.

JT Turner
Lean Software Programmer
12 upvotes·1 comment·325.8K views
It really depends on what you need. If you are building something very custom, I would use Node.js and the backend as maybe just AWS Lambdas with AWS RDS Postgres or AWS DynamoDB. You might need to also add ElasticSearch if you need to add search support.
If you want more of an out of box solution with just some tweaks them Django is a great option as well
Really though from your requirements besides the gamification I would go with a full out of the box solution like Atlassian Confluence. Then you don't have to hire anyone.
2 upvotes·16.4K views