At work, we are a team of two. And we are having the same problem that you are having - it's only recently that we have started digging out heels in when they requested a Garage manager, a HR application replacement and a Claims System - all in December last year for the start of the year. Along with all the other requests that we manage from day to day as well. I know where you are coming from.
Yes, the problem is the 20/80 rule - 20% content, 80% software robustness.
Anyway, as for your question, lets boil it down:
A software which connects to an existing MySQL database somewhere in the web
- is this server set up, or do you need to do that as well? If not, then about 3 lines of code.
Fetches a few rows of data
- Another couple of lines
Providing them in a list, on which the user can click
- Form design - give it about an hour for making it perfect
- Wiring up events - a few more lines of code.
When he or she does, the software has to fetch some more data
- A few lines of code
present the user with that
- A report of some sort? It's a bit vague - if more form design, again, give it about an hour.
then allow the user to add a row into the database
- sql insert shouldn't take more than a few minutes
along with a fileupload via FTP
- shouldn't be difficult
together with automatic image resizing to a handful of different definitions
- potentially extremely difficult to do it well - how is this to be handled? On the server? On the client?
So in total, I would say with all the infrastructure set up ready, (that is you're not building the MySQL database, the tables, the design - it's ready for you to simply drop everything in... about 3-4 hours, factoring in that most of it is the UI interface and making sure that you aren't going to be sending crud. Double it for hidden factors that you haven't discovered yet, and your at about 6-8 hours. At that point I'd call it a days work (8 hours).
Now here are the potential time sink extras.
Creating the MySQL db... add about an hour or two - it's usually done in about 10 minutes, but then as I go through the creating the program I find bits and pieces that I've forgotten about and keep changing the db design.
Creating a server to handle the external connections (for security, so you don't have to put a direct connection to MySQL to the live web). Depending on how complex the information is, say somewhere between 1 and 5 hours. For what you've listed, it should be a simple list, detail & insert, so about 1 hour in total.
Image Resizing... if you have an image resizing tool that you can use, then this should be a walk in the park - you just need a folder scanner and upon upload, process the file to the required size(s), about an hour or two. On the other hand, if you have to write an image scaling yourself... well, I'd add a couple of days. At least. Unless you eat image scaling for breakfast that is.
