I'm going to start developing a web application that will be used for online setup of various applications under Linux. Since I am on a reasonably short time frame, it is important that I do not make too many wrong decisions from the start. So I hope to gain some experience from others and get an idea of what direction to look in.
It is not uncommon for there to be around 1000 different settings per program, so I'm going to work a lot with the use of forms. So I think that high degree of reusability is a must. Here's what I immediately thought of the requirements specification:
- I haven't thought much about choosing a programming language. The only programming language I know in advance and can use reasonably is PHP. But I have no preferences in terms of learning something new. In the past I have worked with Drupal, but I am not sure that this is the right platform for this project. In addition, I can do small things in HTML and CSS. My favorite IDE is PHPStorm
- Login authentication and authorization are managed from LDAP/Kerberos.
- Good support for using databases. Here is my favorite choice MySQL, as I know it already.
- In order to communicate with other programs, it is important to have good support for using YAML and JSON files.
- It should be relatively easy to add an online payment solution.
- There must be a sensible IDE to work with, with integrated debugging.
- I want to avoid having to code too much from scratch. Life is too short to reinvent the wheel. Are there online communities (besides Github) where you can find software libraries, code snippets and design elements?
One thing is that my application needs to be able to handle thousands of settings across many sub-programs, but for the ordinary user, it is a totally incomprehensible amount of information. That's why I think a lot of setup wizards need to be developed that can guide the user safely through a software setup. Are there libraries or software and design tools that can help in the process of making these wizards?
Since I'm going to be pretty much n00b, having a strong online community is important.
I am fully aware that it opens up to biased answers and responses that some might consider spam. But in my current situation, all information is good information. As I see it, I am faced with an incalculable amount of choice between different programming languages, platforms, IDEs and so on. It will require quite extensive research on my part if I am to be able to make a qualified choice.
Top comments (0)