"A developer without creativity is merely a coding puppet."
As a developer, I love engaging in learning new techniques & develop new skills. The one thing I love about being a developer is that there is always more to learn. A developer never would & cannot claim to know everything.
Being a developer is not only about learning coding languages & creating apps with them. It's more about understanding the core goals & objectives of your project & then create an interaction that meets your requirements along with customer satisfaction. The key skill of a developer is to observe the amazing creations of the fellow developer community & utilise their collective knowledge to merge with one's own creativity to develop something new.
To know about my skills, keep scrolling. You'll know how to find me at the end of this page.
I have worked on a couple of projects with my team as a team leader. Being the team leader gave me the opportunity to gather knowledge about multiple aspects of web development rather than focusing on a particular task. As a result of which, I could engage with several different languages & development techniques too. It gave me primitive exposure to several different type of skills needed for web developement.
Although, my major interest & specialisation lies far from front-end or the designing area. I have more experience & expertise in back-end & UX development. In order to do so, I have worked with some languages beginning from PHP to extensive use of JS , jQuery , AJAX & JSON & many more. Also, I have hands on experience with designing databases & building them in MySQL & using SQL. Additionally, I have primitively exposed myself to noSQL databases.
Keep scrolling to know about my individual skills.
Click on the links below to :
Open Web App
Download Android Application
PrepStudy is my latest venture into web development with my team. It basically serves as a library of notes & other educational resources. The users themselves are uplloaders as well as viewers. Though, uploaded docs are regularly verified by moderators.
Being a one page web application, PrepStudy has been heavily coded with JavaScript. Also, jQuery has been used extensively to handle dynamic content & UX of the web app. Further, both MySQL & JSON database were used. Lots of other components used along with those made it possible to create it. Finally, we used Cordova's APIs to convert the web app into a hybrid Android application. It was really amazing to target both platforms with same code. Generally, hybrid apps lack UX but I think we managed just fine.
Currently we are planning on the next upgrade...Turns out there's a lot to improve!!!
PHP is second in the line of my favourite languages. But it is definitely my most powerful language due to the variety of experiences I have had with it. As quoted by W3Schools, "The real power of PHP lies in it's over 1K inbuilt functions.". With PHP, there's always a function to help you out thus allowing you to focus on the additional part.
PHP is a really wide language & the aspects of it that I have worked with would be
Security :
Symmetric & Asymmetric encryption
Authenticated Encryption
Salted Hashing
Prevention against time based attacks
Maintaining data :
Connecting to MySQL databases using PDO & prepared statements
Using JSON to store user specific data in hierarchical order
Protection aginst SQL Injection by prepared statements
Preventing XSS attacks by sanitising & validating data by the use of POSIX
Implementing encrypted database model that takes the security of any app to the next level
Implementing encrypted file structure in server to increase security of user data
Well, to quote it "JavaScript is the best web development language I've come across". I realised this working with JS more & more. It's use has been significantly increasing in my projects. Today, I am at a point where we are going to use only JS to build the whole web app including front end & back end.
JS has almost every function there is in PHP excluding the advanced functionalities but still it can be used to solve almost every problem. I believe the best part about JS is it's execution engine & the way in which it handles the code.
As of my experience, I have literally written 1000s of lines of code in JS but there are still a lot of unchartered planes which I intend to explore in near future.
jQuery is the heart of JS. An absolutely amazing framework for optimizing every action of JS in a better & quicker way. Almost 90% of JS, I have coded has jQuery in it. Those two languages just can't go apart.
I have used jQuery for handling almost all HTML elements to improve UX. Also, advanced functionalities like Promises have been explored for some complex requirements.
AJAX has been extensively helpful to handle dynamic content for the website. Additionally, AJAX requests are fast & so reduce the overhead a lot. It is another tool that adds to the extensive usage of JS & makes it a power house.
It is rightly quoted by W3Schools that "XMLHttpRequest is the dream of every web developer.". If you're wondering where's AJAX in it, AJAX is an API for XMLHttpRequests, the functionality that allows us to contact server without reloading the whole page.
I have basic knowledge of various SQL functionalities. Working on a couple of projects, I have used it to handle data from database. While working with a database, one task is to collect data from database which we execute using SQL queries. But, the real task here is to create optimized queries to meet all data requirements along with minimizing the overhead.
I have mainly used SQL to fire queries into MySQL database & send it to client in JSON form to be utilized into the web app.
I have been using MySQL database engine right from the beginning & don't intend to switch either. It is comparatively easier & simpler to implement. Further, it also has a great library of functions that extend the functionalities of the SQL queries. This allows easier operations with data.
I have had major experience with designing databases to meet varying requirement of each project.Further, in terms of database, the designing of database is also an important & integral part of any project. A database if properly designed, can serve with all types of purpose or will force you to redesign the database whenever the requirements change. The redesigning is literally wastage of resources unless absolutely required.
HTML & CSS are the founding pillars of any web designer. I have intermediate level of experience & knowledge of HTML & CSS. I have sufficient knowledge of HTML & CSS that enables me to modify UX of any element using JS & jQuery. I am experienced with creating varied UX experiences & loading dynamic content into the DOM with the use of JS.
The thing is I love using my own creativity & observations form their web sites to design UI for my own web pages. But, coding the web pages isn't really my preference. I prefer to code it with webFlow. webFlow is a web based GUI UI editor. The best part about it is that it is more than just a drag & drop editor & allows you to control every aspect of your elements thus giving the power in your hands. Additionally, it is far more convenient & a time saver.
Seldom, to store user specific data, the database can't be used. These are the times I have used XML to store data. It is pretty convenient to design the structure to your will. It is also helpful to store data in hierarchical form.
I have had some experience with XML to store user specific data in a couple of projects. Most of it majorly incolved using HTTPRequests & working with tag indexes.
All the scenarios that move you towards storing data in XML form can be equivalently handled by JSON. Further, JSON has been used by me extensively to transfer data from server to client & vice versa. It is the base of any noSQL database.
JSON has it's perks over XML such as reduced file size which leads to reduced overhead & loading time. That's the reason I dropped XML a little time ago.
My latest project PrepStudy is available as both a web app as well as an Android app. Both of them have the same code base & it was made possible by Cordova. It enables us to develop hybrid applications thus serving on several platforms with the same code base.
I have had a great experience with Cordova & it's plugins. It has plugins for almost every task you might wanna perform on any device thus allowing you to create the most native experience. As Cordova has a lot of plugins & functionalities, there's still a lot to learn in this field. Although, the idea of serving to multiple systems with same code is indeed fascinating. If used experience, the prevailing fact that hybrid apps lack native experience can be overcome.
WordPress is not something I have had a lot of experience with. I have primitive knowledge of WordPress which I am working on currently to increase as you are reading this...