Hi,

just imagine you have a chance to create a new application - on the 
greenfield (hurray! :)

The application would be *Software as a Service ala Github, Bitbucket, 
JIRA, Mailchimp, Zendesk, Freshdesk*. 

I.e. friendly, direct frontend + some background tasks (initiated both by 
cron and users) + API for webservices integrations.

Users are from corporates and SMEs. App has designed architecture for ideal 
zero downtime.

App would have both URL separated parts and SPA (Single Application parts 
for modules) via # in URL. UI should behave like Mailchimp. 

Due to the continuous development the app would have configurable feature 
flipping (for both FrontEnd, and BackEnd, might also have for webservice 
APIs).

Usage is on PC browser (IE9+ and others - yes corporates:( ), also for 
browsers in tablets (Android Chrome, Ipad Safari).

*# How would you design the app architecture TODAY? #*
-------------------------------------------------------------------------------

Browser Front End (*please answer at least this*):

  UI for interactive special graphs: D3JS (we have tested several others - 
conclusion we must use it)

  UI other: bootstrap / kendo UI / dojo / jquery UI / ... ?

  JS framework: angularJS / backbone.js / ember ? (btw, I prefer 
declarative over algorithmic coding)


Other::::::(back end,...)::::::::::::::::::

BE API for browser FE: just pure django views or anything else?

BE API for web services integrations: TastyPie? (API will have to be 
versioned, I would like to have the auto documentation, too)

Cache: reddit? memcached?

BE - app server: Django (for sure :), Celery / Rabit MQ?

Authentication: (it is not a social app, therefore the own login is 
acceptable. Eventually there will be needed some sort of SSO from corporate 
environment - how to do that?) + eventually python-social-auth for public 
SSO (e.g. for SMEs, who use GApps?)

Search: Whoosh? (there will be searchable cca 100 000 records, every record 
is ala github ticket. Nevertheless search should form some sort of 
group-based selection wizard, therefore I do not like the Haystack 
limitations. Solr etc. seams to be overkill now.

BE - DB: PostgreSQL?

Deployment: Fabric?

Supporting: Sentry, New Relic?

BE autotests: ???

FE autotests: selenium?

CDN: google, maxcdn, other? (for JS, fonts etc.)


Overall constraint - we love Django, so we want to build it on top of it. :)


We have the vision that the application would be there for a long term 
period. Therefore we need ingredients which are maintainable.

Please provide the structural answers :)

Thanks,

Radek

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/fd22c91e-0474-4266-af39-2740ef3d2370%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to