Purpose of eGrants project was to automate process of collecting and reviewing of applications for grants from schools of state N, as well as to improve quality of these applications. Each application was split for 8 steps and 4-10 parts in each step. Each part had one or more questions that needed to be answered.

When I was assigned to this project it was in a bad shape. Two weeks before going live it was still in the middle of development process. After analysis of situation main reasons of such delay were identified: constant changes in web design and content (from client side), database and application design. All answers were stored in just two denormalized tables and application had separate page for each part.

I proposed new database and application design where entire content (questions, instructions and help text) was pushed into database and just one generic page was able to display any part and save answers. It also helped to improve error handling, optimize sql queries and build validation screen (it was much easier to check normalized answers).

Project was completed in time and showed good performance. Another output of this project is that now company has generic application which can be easily customized for other clients.