How to start app development.

The application

  • First you need to define the application functionality, requirements and business rules. You can list all of them and discussed them with impacted people - users, administrators, developers, testers. Some example categories that you can consider:

  • Example features

    • login/logout forms;
    • UI - user interface(basic look and feel) - how important is for the success of the app;
    • user input of text information and reading;
    • administrative panel - is it required and how complex should be?
    • API(Application programming interface) - is it necessary for your app to support this feature. It's expensive and could have some security risks.
    • Multi language platform - depending on the platform it could be from fairly trivial task up to nightmare.
    • Social integration - facebook, twitter, google+.

Example Technology stack

example 1

  • ReactJs
  • Bootstrap
  • Ruby
  • MYSQL.

example 2

  • Angular 4
  • Bootstrap 4
  • NodeJS
  • MongoDB||PostgreSQL.

Administration

  • Load Balancer

You can set up an simple load balancers in order to ensure fault tolerance and heightened stability. This will protect you against single point of failure. You can read more here:

  • Web servers

For web server it can be used Nginx. Which is free and reliable web server. You can host on different cloud infrastructure providers like:

  • amazon

  • digital ocean

  • linode

  • Database servers (two and more) with replication.

  • Back up server in case of fault

Testing

  • User Acceptance test

One person doing automated and manual tests. From 2 to 3 weeks for tests and proof of concept.

  • Penetration tests, performance tests

Test in Kali Linux - simultaneous connections, DDoS, CORS XSS, password brute force etc

Cost

The first part of the web application is job for 2 web developers from one week to month depending on the application complexity.
The infrastructure set up, server installation and go in production could take up to one week of experienced person.
One person for Quality Assurance is absolutely enough. For two weeks.

So for an common app:

4 people х 10 days х 8 hours per day = 320 man days

  • considering some unpredictable expenses ~ 100 man days
  • defects and production support ~ 100 man days

So a total cost would be an average of 500 man days.
The cost of man days could vary a lot depending on the country and the people experience.