Software Design is the process by which an agent creates a specification of a software artifact, intended to accomplish goals, using a set of primitive components and subject to constraints. Software Design usually involves Problem Solving & Planning a Software Solution.
The Systems Development Life Cycle or the Application Development Life-Cycle, is a Process for Planning, Creating, Testing, and Deploying an Information system.
Depending on your specific business needs, software solutions can unify your business logistics: allow you to manage your content, house your customer data, allow you to control inventory, fulfill orders, and process payments, all in a single platform.
Software Development Tools
CMS: WordPress – Drupal – Joomla
SPA: API – REST – HTTP – JSON
JS Frameworks : Angular – React – Vue
JS Libraries: jQuery – D3 – Redux
Database: PostgreSQL – MySQL – MongoDB
Web Servers: Linux – Ubuntu – Apache
UX Software: Sketch – InVision – Omnigraffle – Axure – Adobe XD
Cloud: Google Cloud – Amazon Web Services
Almost All (99.9%) of Companies Today Use a Content Management System or CMS (Software Application) to Create, Manage, and Modify their Digital Content, Dynamically, without having to program each page.
Content Management Systems are Extremely User Friendly (No Programming Necessary) – Very Accessible – Easy to Optimize – Extremely Secure – and a cost effective method of managing content.
According to W3techs, WordPress has 61.8% of the CMS market share — more than all other systems (eg, Drupal, Joomla) combined.
1. WordPress – CMS Based on PHP and MySqL – Plugin Architecture and Template System (Themes)
2. Drupal – CMS Based in PHP- GNU (General Public License) Personal, Corporate, Political, Government)
3. Joomla! – CMS Based in PHP – Model View Web App Framework (Can be used Independently)
54 of the Top 100 Companies in the World Use WordPress:
Nike, Mercedes, Microsoft News, CNN, Star Wars, Bloomberg, BBC, Sony Music, Walt Disney, Facebook News, Chicago Sun Times, Playstation, New York Times, and many others all use WordPress.
More than 35% of the Internet uses WordPress – That means more than 450 Million Websites are using WordPress right now – Making it the Top Content Management System in the World.
(We Build Most of our Projects in WordPress.)
Part of WordPress’s appeal is it’s plugin architecture; plugins are software Add-Ons which contain a group of Additional Functions (PHP).
WordPress has over 50,000 plugins available, each of which add additional features enabling users to tailor their sites to their specific needs. These customizations range from SEO, to client portals used to display private information to logged in users, to content displaying features, such as the addition of chat widgets and navigation bars.
WordPress users may install and switch between themes. Themes allow users to change the look and functionality of a WordPress website and they can be installed without altering the content or health of the site.
Every WordPress theme should be designed using some standards with structured PHP (Hypertext Pre-processor), valid HTML (Hypertext Markup Language), and CSS (Cascading Style Sheets).
Responsive Web Design
Responsive Web Design is about using HTML and CSS to automatically to resize, hide, shrink, or enlarge, a website, to make it look good on all devices (desktops, tablets, and phones)
Desktop HD – 1440 x 1024 px
Desktop – 1024 x 1024 px
Tablet – 1024 x 768 px
Mobile – 1024 x 320 px
What is a Website?
A Website is a Collection of Web Pages
What is a Web Page?
A Web Page is a Collection of Content (Text, Images, and Videos) Purposefully Arranged to Highlight What You Do and How Well you Do it.
HTML is the Content (Headings, Paragraphs, Links, Images, Buttons)
- HTML stands for Hyper Text Markup Language
- HTML is the standard markup language for Web pages
- HTML elements are the building blocks of HTML pages
- HTML elements are represented by <> tags
CSS is is the Style (Page Layouts, Styles, Colors, Fonts)
- CSS stands for Cascading Style Sheets
- CSS describes how HTML elements are to be displayed on screen
- CSS saves a lot of work. It can control the layout of multiple web pages all at once
- External stylesheets are stored in CSS files
New features in ES6.
- Default parameter values
- Exponentiation (**) (EcmaScript 2016)
The Document Object Model
The Document Object Model (DOM) is a programming interface that treats HTML and XML documents as a tree structure where in each node is an object representing a part of the document.
The HTML DOM (Document Object Model) is constructed as a tree of Objects: When a web page is loaded, the browser creates a Document Object Model of the page.
DOM OBJECT MODEL TREE
What is the DOM?
The DOM is a W3C (World Wide Web Consortium) standard.
The DOM defines a standard for accessing documents:
“The W3C Document Object Model (DOM) is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document.”
The W3C DOM standard is separated into 3 different parts:
- Core DOM – standard model for all document types
- XML DOM – standard model for XML documents
- HTML DOM – standard model for HTML documents
What is the HTML DOM?
The HTML DOM is a standard object model and programming interface for HTML. It defines:
- The HTML elements as objects
- The properties of all HTML elements
- The methods to access all HTML elements
- The events for all HTML elements
In other words: The HTML DOM is a standard for how to get, change, add, or delete HTML elements.
Ease of Use
Rather than having to code each line with specific instruction:
<strong>Designed – Developed –Curated Content For Dozens of Web Applications & Enterprise Software Systems</strong>
Users can simply use a Bootstrap Friendly Theme allowing them to use Drop Down Boxes to instruct the Software that they want this particular line of text, 25 Pixels, Centered, and Bold.
Curated Content For Dozens of Web Applications &
Enterprise Software Systems
(It makes development as easy as using a Word Document!)
CMS, Themes, Plugins have Tons of User-Friendly Software Already Built in Making UX Design and Development: Simple, Flexible, and Scalable.
In the past, using a CMS like WordPress meant you had to build your front-end using PHP.
Now, with a headless CMS, you can build your front end with whatever technologies you like; this is because of the separation of the front-end and the back-end via an API.
You now can create a SPA (single-page application) using React, Angular or Vue, and control the content using a CMS like WordPress.
- CMS — content management system. Think WordPress, Drupal, Joomla, Magneto.
- API — application programming interface. In simple terms, a series of definitions that a service provides to allow you to take and use its data. Google Maps,. Medium, and now every WordPress site comes with an API built-in. .
- REST — representational state transfer. A style of web architecture based around HTTP’s request methods: GET , PUT , POST and DELETE . WordPress’s built-in API is a REST or “RESTful” API.
- HTTP — hypertext transfer protocol. The set of rules used to transfer data over the web. https (the secure version).
Vocabulary and Set of Grammatical Rules for Instructing a computer or device to perform task
HTML5 – Software Solution Stack that defines properties & behaviors of web pages
CSS3 – Cascading Style Sheet Language (rounded corners, shadows, gradients, transitions, animations, multi-columns, flexible box, or grid layout
PHP – (Hyper Text Preprocessor) – Server Side Gen. Purpose Prog. Lang.
Java – General Purpose Prog. Lang. (Class Based, Object Oriented) Fast, Secure, Reliable)
Python – Interpreted, high-level, general-purpose programming language – emphasizes code readability with its notable use of significant whitespace – Reddit – Instagram – YouTube – Google
Foundation with a specific level of Complexity (Set of Libraries, Compilers, Interpreters, API)
Angular – (Direct DOM Rendering System) TypeScript and Dart Sep 2016 -based open-source web application framework led by the Angular Team at Google and by a community of individuals and corporations.
Bootstrap – OS CSS Framework (Responsive, Mobile First Front End Web Dev.) CSS and JS based Design Templates for Typography, Forms, Buttons, Nav., and other interface components.
Storybook – Storybook is an open source tool for developing UI components in isolation for React, Vue, and Angular. It makes building stunning UIs organized and efficient.
Ionic is a complete open-source SDK for hybrid mobile app development – original version was released in 2013 and built on top of AngularJS and Apache Cordova.
Next is a React framework, server rendering React applications has never been easier, no matter where your data is coming from
Nightwatch is an automated testing framework for web applications and websites, written in Node. js and using the W3C WebDriver API (formerly Selenium WebDriver. It is a complete browser (End-to-End) testing solution which aims to simplify the process of setting up Continuous Integration and writing automated tests.
A collection of non-volatile resources used by computer programs, may include configuration data, documentation, help data, message templates, pre-written code and subroutines, classes, values or specifications
Slick is a responsive carousel jQuery plugin that supports multiple breakpoints, CSS3 transitions, touch events/swiping
TensorFlow – TensorFlow is a free and open-source software library for data-flow and differentiable programming across a range of tasks. It is a symbolic math library, and is also used for machine learning applications such as neural networks.
Spark – Apache Spark is an open-source distributed general-purpose cluster-computing framework. Spark provides an interface for programming entire clusters with implicit data parallelism and fault tolerance.
Cordova – Apache Cordova is a mobile application development framework originally created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open source version of the software called Apache Cordova.
Hadoop – Apache Hadoop is a collection of open-source software utilities that facilitate using a network of many computers to solve problems involving massive amounts of data and computation. It provides a software framework for distributed storage and processing of big data using the MapReduce programming model.
Tableau – Tableau Software is an American interactive data visualization software company founded in January 2003 by Christian Chabot, Pat Hanrahan and Chris Stolte, in Mountain View, California. The company is currently headquartered in Seattle, Washington, United States focused on business intelligence.
PostgreSQL, also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and technical standards compliance. It is designed to handle a range of workloads, from single machines to data warehouses or Web services with many concurrent users.
MySQL – MySQL is an open-source relational database management system. Its name is a combination of “My”, the name of co-founder Michael Widenius’s daughter, and “SQL”, the abbreviation for Structured Query Language.
MongoDB – MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schema. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License.
Django is a Python-based free and open-source web framework, which follows the model-template-view architectural pattern. It is maintained by the Django Software Foundation, an independent organization established as a 501 non-profit. Django’s primary goal is to ease the creation of complex, database-driven websites.
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution.
Ubuntu – Ubuntu is a free and open-source Linux distribution based on Debian. Ubuntu is officially released in three editions: Desktop, Server, and Core. All the editions can run on the computer alone, or in a virtual machine. Ubuntu is a popular operating system for cloud computing, with support for OpenStack
Apache – The Apache HTTP Server, colloquially called Apache, is free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.
Sketch – Sketch is a vector graphics editor, developed by the Dutch company Bohemian Coding. Sketch was first released on 7 September 2010 for macOS. It won an Apple Design Award in 2012. A key difference between Sketch and other vector graphics editors is that Sketch does not include print design features.
InVision is a prototyping tool that allows you to take your design mockups and turn them into interactive prototypes. … It gives a better experience when sharing designs.
Adobe Creative Cloud is a set of applications and services from Adobe Systems that gives subscribers access to a collection of software used for graphic design, video editing, web development, photography, along with a set of mobile applications and also some optional cloud services.
Adobe Photoshop is a raster graphics editor developed and published by Adobe Inc. for Windows and macOS. It was originally created in 1988 by Thomas and John Knoll. Since then, this software has become the industry standard not only in raster graphics editing, but in digital art as a whole.
Adobe Illustrator is a vector graphics editor developed and marketed by Adobe Inc. Originally designed for the Apple Macintosh, development of Adobe Illustrator began in 1985. Along with Creative Cloud, Illustrator CC was released.