I would like to create on VPN server, login panel, what will be working on mobile app as a login by gmail, facebook, email or guest, with updating simple information to SQL, like id of phone. Then I want to add searching for other user via this app, so the app will check is there another user already online, and give back info.
I know it is not casual question. But I am in sort of problem, and I need an advice. How long, how many hours, could take to experience programer, to create such a thing?
It doesn't really seem to be something to be coded in C++, rather PHP/MySQL.
If you can give me details about 1. what you need the VPN server for and 2. what the app should be able to do apart from showing if other users are online or offline - if there are other jobs -, I will be able to give you details about what will have to be done. But that sounds to me like a very, very advanced project.
Estimation of time for a programming project is probably the least accurate thing that developers do. My rule of thumb: Estimate each step, and then multiply the sum by about 3 to get a reasonable value. And that value is usually low.
I do not have much experience in the specific areas of interest you are asking about, but I'm guessing it would take an experienced programmer 3 - 4 weeks (8 hours/day) to get a proof-of-concept demo working and another 3 - 4 weeks to finish up a lot of the error handling and polish up the user interface. Multiplying by my factor of 3, that comes to 4.5 - 6 months. Again, I'm not experienced in these specific areas, so my estimates my be off.
However, as a rookie programmer, you will have to research the things you need to do and figure out what libraries you need to use (and how to use them). And then you need to work through the rookie design and coding mistakes that we all make when we start out.
You are probably looking at several months of work. But you won't be a rookie any more when you are done with it.
I highly recommend you break this down into smaller pieces. Start by working with the data base with local access. Make sure you can add, delete, edit and query the data base correctly. Then add a single remote login method from a mobile app. Make sure you can retrieve the data you are looking for. Make sure everything works, and then add another login method. Always make sure everything works and you didn't break anything before adding the next feature. At some point, add the feature to check for others on line. Don't try to do everything at once, but add features incrementally.
10 years. It COULD take 10 years. (it could also take 2 months, if you have a team of go-getters with minimal interventions and a small internal release type scope).
The news does this too... the world COULD explode tomorrow due to global something. It probably won't but its a story, right?
It depends on the details of the project, the familiarity of the team with the tasks at hand, the size of the team, the scope of the release, the environment (management, documentation, Q/A team speed, beta tester speed, ... whatever).
Ill add 2 things that may help YOU estimate it..
- break the work down into tasks at some level that is good enough for you to hand it to a programmer and say "how long for you to do just this piece". Add all these up.
- and this is critical: double the above number, at least. Maybe triple it. That is your estimate.