I want to build a battle/challenging game web app and I want to take a decision about what technologies are suitable for this. Specifically,
The web app will support:
- Login system (Can be authenticated via google,
facebook etc)
- Points award system
- Badges system
- Category system for the challenges
Also:
- A user can raise a challenge to another user
- Challenges could be anything, like: "I can answer 20 questions on a forum until tomorrow" ...etc
- The user that was challenged can accept the challenge with the points that the challenger asked or he can re-propose another point value.
- So, finally there is a CHALLENGE here!
- Challenge has a date, so if the date is over, both of them have to verify the result and the points will go to the winner (challenger or the challenged user)
- Finally, there is a point system with the total points and with reports
mechanism
- And, of course, a mobile app for this
I have hundreds of features in mind to be added to the future...
So, I want to know what technologies are the best for this kind of application to use ?
How would you approach an application like that with keeping on mind that new features must be able to be added easily and quickly without refactoring or redesigning it from scratch ..every time ?
What is the suggested combination of technologies/frameworks/design-patterns (both for Client Side and Server Side Scripting/Coding) ?
------------------------------------------------------------------------------
**What about Programming Languages**
Javascript, Ruby, PHP, Java, C#, etc ...?
**What about Frameworks**
Meteor ,Node.js,Ruby on Rails, Django, Bootstrap, .NET, Angular.js, Ember.js, Backbone.js etc ...?
**What about Libraries**
jQuery, Underscore etc ...?
**What about Databases**
MongoDB, Redis, PostgreSQL, MySQL, SQL Server ...?
What I have tried:
I have tried ASP.NET with C# and SQL server. I've also tried angular and bootstrap