Click here to Skip to main content
15,887,485 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
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
Posted
Updated 4-Jun-16 5:31am
v3
Comments
Sergey Alexandrovich Kryukov 4-Jun-16 10:49am    
Perhaps your real problem is the way you set your goals. The use of something "cutting edge" should never be a part of a goal. The reasonable goals may include developing a useful system, really convenient for the user, supporting good level of productivity of the users, comfort, pleasure to use, clarity, and, importantly, creation of the system which is well maintainable. Perhaps you want you system to come to the cutting-edge in its quality. But development of a cutting-edge software product generally has nothing to do to the use of cutting-edge frameworks or libraries.

You really have to come from your product goals and requirements and only than infer the decision of what to use for meeting this requirements. Probably you already do it. But, so far, I cannot see anything special in your product, anything "challenging". :-)
You really need ask more specific questions on each specific problems. Remember: using some technology, design pattern or library is never a part of your goals, it's only a tool which you may or may not decide to use, depending on your goals.

—SA
Giannis Grivas 4-Jun-16 11:38am    
Probably, I mean cutting-edge from the scope of the TOOLs,as you said, that I have to use.All that you mentioned are must-have before starting to develop an application.We all know that stuff. In addition, sorry for the title it was wrong and I wanted to say challenges game ,it was typo. The application indeed is simple but I want to take ideas and different approaches for the tools..Do you have any suggestions for the technologies of my app?Thanks in advance.
Sergey Alexandrovich Kryukov 4-Jun-16 13:44pm    
There is nothing to sorry about, it's all right. If I had some particular suggestions, I would post a formal answer. Here is the whole point: it depends on many factors. Withing the very vague constraints defined by your description of some problems to solve, you have considerable freedom of choice; some decisions depend on the features you want to have, and some detail of those features, other depends on your own taste, style of work, availability of tools, budget, and so on...
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900