Formia - A Simulation of Google Forms. Part 1 - My Experience

This time I would like to share one of the exciting moments in my life, in which I understood what the Client - Server Concept means and by the Grace of God, simulated one of the Internet Giant's product, Google Forms from scratch. I finished the project a couple of months ago. Here is the story. (and the project).

Analysis page, See more screenshots

Install Formia.

What it is?

  • Formia is an incredible web application for Massive Feedback Analysis.
  • Developed on May 2015.
  • More than 4000 lines of codes.
  • Flexible.
  • Well structured.
  • This can be viewed as a simulation of Google Forms, a product hosted by the Internet Giant, Google.
  • Service available in mobile, laptop, tabs.


Formia is constructed on 7 languages, including PHP, AJAX, JS, SQL etc.
The Analysis part utilizes Google APIs which is one of the coolest (and hottest) feature.


Formia is optimized for easiness.
User friendly just like Google Forms.
Heavily abstracted.
Screenshots are attached below.

Behind the Scenes



My Experience

A few months ago our teacher turned us into groups and asked us to build a project (online or offline) that utilises a database structure. We've no previous experience in software development. So we're unaware of the difficulties in implementing the idea and started dreaming.
Previously I had experience with Google Forms, which is an awesome tool in taking online surveys. I had used Google Forms to take market studies and evaluations for my "next thing", which is currently in pipeline. (I'll be writing an article after its official launch). Google Forms awesomely covered my mind, as it was one of my ideas to develop such a software that takes online surveys and evaluates it.
I came to my group with the idea of simulating Google Forms, without knowing the complexities behind the development. We described the idea before our teacher and enquired her about its feasibility. We were only 50% sure.
We decided to rewind from zero. Opened Chrome and head to w3schools for HTML, then CSS. Some tutorials from other web communities also aided us. We slowly created the UI from pure HTML and CSS, neither Bootstrap, nor Foundation or Boilerplate or any other frameworks.
Then thought about user operations. We found PHP could help us there and went for it. As a whole the project is a combination of more than 6 languages. We also used Google APIs and JS libraries to enhance the performance. We also briefly optimized the queries so as to reduce the number of database fetches, which is a slow process. We also reduced the number of variables for better memory efficiency.

We had little time to sit and think. Because of this hurry-bury there can be some bugs. For example, the UI is badly rendered on some browsers and in mobile views.  Anyway we missed a lot of features. But as per the test conditions, no compromise in performance. I gladly invite you to improve this project on Github. (will be available on 12/15/2015)

The Report Starts like this...

This is the first web project in our life. So there were phases we struggled a lot and spent weeks for finding the suitable fix. We extremely thank THE GOD ALMIGHTY for blessing us with knowledge, guidance, unvarying perseverance from the very beginning to the end, and everything else for the successful completion of this venture.   We would like to take this opportunity to express our sincere gratitude towards all of those who have guided in the successful completion of this endeavor.  We thank our principal Dr. HARI V S for providing us all the facilities to complete this project. We are also deeply indebted to Mr. BINU V. P, Head of the department Computer science, project guide Ms. NIMMI. V and Ms. ACHU MARIYAM JOHN for having a keen interest in the development of our project, providing us with detailed information regarding the system and ample guidance throughout this project.     We express our extreme gratitude to our parents and friends for their full-fledged support for the completion of the project.    We are also thankful to Google, StackExchange and to some web communities, who helped us extensively at some troubling phases such that, without them this project would be incomplete.

Read entire document

The Team

Me, Vajahath Ahmed

Ajmal Nazeer

Jiju K Raju
Azhar Ibraheem


Popular posts from this blog

How to pass variables to res.render() in Node.js

Talky Messenger Documentation & Setup