How can I start a web application?

I have no technology experience, but after working on a web based application tool, I have developed an interest to build my own web application. I am looking for the guidance and path to design, develop, deploy and maintain a web application successfully. I am very interested to learn new things, but after seeing lot of competitive options (java vs python) (back end/front end/full stack) (mySQL vs MangoDB). I am confused how to begin from the scratch. Kindly help.

Know someone who can answer?

Hello @louis_thomas, welcome to the MongoDB Community forum.

I have no technology experience… I am confused how to begin from the scratch. Kindly help.

This is a difficult question to answer. I am writing somethings and hope it is useful to you in some way.

A web application has various components - mainly the front-end and the back-end. Take a typical email program like Gmail or Yahoo mail. These are web applications and has front and back ends.

The browser is where the front-end of the application runs. This is where you view the data, enter data, and click a button to store the data. The program that runs in the web browser is made up of HTML, CSS, JavaScript + maybe other components depending upon technologies. This is the user interface to the web application.

A back-end has multiple components; mostly a database server and a web server.
The database server is where you have the database and it is where the data is stored. These are databases like MySQL or MongoDB or even a data files. The emails you save are stored and retrieved from this database. Note that you can have a web application entirely without a database.

The programs which actually does this writing to and reading from the database, do things like business calculations and programming logic like which web page to display - is the other part of the back-end. This can be called as the application part of the back-end. These applications are your Java, Python, Go, etc., programs. These programs are deployed and run on servers, and are called as web servers or application servers.

That makes the web application. Together, the front-end, the application and the database is often referred as full-stack.

As such computer programming is the main aspect of the front-end and back-end technologies. You write a program using a programming language. Programming is the essential part of developing applications (though programming the browser is called as scripting).


… design, develop, deploy and maintain a web application successfully.

That’s a very clear goal. But, it is also not an easy one, since you don’t have any technology experience. In fact each of it can be a specialized field on its own. Broadly, to create any kind of application, you will go thru the design, develop, deploy and maintenance aspects of it. Even if you want to write simple calculator program, you will end up with these steps. These steps together are often referred as application development life cycle.


An Example Web App

This is an example, an actual web application the author had designed, developed, deployed and also maintain it. It is a simple quiz application where there are about forty questions, each with multiple answers and you select one to score correct (or not). The front-end is written in HTML, CSS, JavaScript + Java’s web technology called as JSP (JavaServer Pages) and the back-end is a Java programming language component called as Servlet. The database is a text file (I used a file as the data is very little).

You can access this quiz application (it’s a Java language basics quiz) at Javaquizplayer.com

When you first click the link, the request is processed by a Java Servlet program which reads the quiz data file and prepares the data to be used in the application. Then it displays the landing web page with instructions to play the quiz. Further, as you press a button to start the quiz, the first quiz question is read and displayed in the web page (all this the programming logic happens in the Servlet), etc.

This application is not of the latest of the today’s technologies, as it was written about seven years back, but in essence has the components of a typical web app. The web app runs on an Apache Tomcat web server.