views:

44

answers:

4

Hi All,

I am a C++ developer. I want to develop a website in which I plan to put

  1. User accounts
  2. User groups
  3. Alerts based on user preferences

Can anybody suggest the best open source framework that I can use to create this website. I hope that the framework would provide basic underlying infrastructer like session management etc. In short what would you suggest to create such a website?

Thanks in advance.

+2  A: 

I'm a mainly a PHP web developper, so I will talk about php framework. I like expressionengine as it provide a fully functional backend with user/group management and is easily extendable (a lot of plugins exists). With it you juste have to programme the public interface and you can use the backend to manage stuff.

If you want to di it your own way, you can try code igniter (expression engine is build using code igniter) or Zend Framework. Both provide similar tools (MVC, DB Abstraction, etc.)

mathroc
A: 

I'm fond of Catalyst, it has an excellent plugin system which includes things like Catalyst::ActionRole::ACL (which should cover your user groups requirement)

David Dorward
A: 

Though the framework is not actually open source, I would suggest working with the .Net framework. You don't have to shell out for Microsoft's IDE - check out Sharp Develop for instance...

Martin Milan
+1  A: 

i'm mainly a java developer, so i'll recommend you a .. Python framework ;)

for your use case, i can highly recommend Django

it has a built-in auth system which consists of:

  • Users
  • Permissions
  • Groups

also important for your use case: you can easily extend the built-in User model to also include the user's preferences.

it's also very easy to get started.

some other nice features:

  • dynamic admin interface (~ scaffolding)
  • flexible templating system
  • rapid development
  • it comes with an object-relational mapper in which you describe your database layout in Python code (no need to write SQL yourself)
  • MVC-like
  • open source of course
Stefan De Boey