Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Technology stack for building a web application [closed]

I'm an old C++ / algorithm guy who is making a first attempt at building a web application. I could use the community's help in making correct architectural / tech stack decisions. Here's what we're trying to do:

There is a simple relational model for the data. Most of the application is simple CRUD, with a high usability and variety of UI controls needed to match a fairly complex workflow a company follows. Often data from multiple tables need to be displayed / edited in one page - think of an editable dashboard that takes full advantage of large monitors (grids, drag-drop, tree displays of data, etc.). There is a bit of server-side text processing to be done as well, with Python being the company's processing language of choice.

The company wants to use open source where possible but wants the best UI controls/widgets and will pay for a commercial UI package. They want to make sure there is a good-sized community of developers who use all the technologies involved so they never have trouble finding someone else to maintain/enhance the app once it has been built. There will be under a dozen concurrent users.

I've read various questions/answers here, done some research on my own, and talked with a few colleagues who build web apps in an effort to decide on a proper technology stack for this application. Here is what I've come up with:

  • Sencha ExtJS for the UI
  • JSON for data transmission
  • Django as the web application framework on the server
  • Apache as the web server
  • MySQL as the RDBMS
  • Linux as the O/S
  • Github for the development repository
  • Webfaction for the app hosting (full shell access, long-run process support, Linux/Apache/MySQL/Django support, etc.)
  • Authentication via username/password in database

I'd love to get this tech stack validated by a few experienced people. If you've built high-usability CRUD-style web apps, please let me know what you think of my intended choices, and also please let me know if I am leaving anything important out.

Thanks!

Ron

like image 794
Ron Stanley Avatar asked Oct 11 '22 01:10

Ron Stanley


1 Answers

It will come down to what you are comfortable with as you go along -- don't lock in your combination too early. I believe you've listed a very usable stack. I don't have any experience with Sencha ExtJS, but the rest is solid stuff. Django is a beautiful thing, and even if you don't have Python experience it is really easy (and fun!) to learn.

But as you go you will find some things don't feel right just because of your background, or because of the way it fits with other pieces of your stack, and may find something more suited to your situation.

I've actually come to the conclusion that these days, the pieces available for a web stack are so well evolved and so well explored that you (almost) can't go wrong -- what is far more important is the application design. People tend to get wrapped up in technology decisions and lose focus on the app itself.

like image 56
jwl Avatar answered Oct 14 '22 02:10

jwl