KEMBAR78
Full Stack Development Seminar Presentation | PDF | Use Case | Software
0% found this document useful (0 votes)
58 views50 pages

Full Stack Development Seminar Presentation

The document provides an overview of full stack development, detailing the roles and skills of full stack developers, including front-end and back-end technologies. It discusses system analysis, design, and the importance of understanding user and system requirements for effective development. Additionally, it highlights opportunities and challenges in the field, along with resources for learning full stack development.

Uploaded by

biyakumilachew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views50 pages

Full Stack Development Seminar Presentation

The document provides an overview of full stack development, detailing the roles and skills of full stack developers, including front-end and back-end technologies. It discusses system analysis, design, and the importance of understanding user and system requirements for effective development. Additionally, it highlights opportunities and challenges in the field, along with resources for learning full stack development.

Uploaded by

biyakumilachew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Full Stack

Development
Content

● What is full stack development


● System Analysis
● Front-end Development
● Back-end Development
● Deployment
● Opportunities and Challenges
What is Full Stack
Development
Who is a full stack developer

● A full stack developer is a web developer equipped to


work with a digital entity’s front and back ends,
meaning they are usually skilled in aspects of computer
programming, user experience (UX) design, project
management, and in many cases, client communication.
● The position is predicated upon versatility, innovative
thinking, and a blend of technical programming
knowledge and high-level client communication.
Types of full stack developers

● MEAN stack developer


● MERN stack developer
● MEVN stack developer
● Java full-stack developer
● .NET full-stack developer
● Python Full Stack developer
● Laravel Full Stack developer
Focus of full-stack development

● The full stack development focuses on developing the


entire web application.
● The full-stack developer should know all the
○ Front-end
○ Back-end
○ Servers
○ Database management
○ Cloud services technologies.
○ APIs
System Analysis
and Design
What is System analysis

● System analysis is an evaluation of a technological


system, such as a software package, for the goal of
troubleshooting, development, or improvement.
● Analysts can find coding mistakes, user accessibility
problems, or design incompatibilities by conducting a
thorough investigation.
● Systems analysts take into account a product's overall
viability and efficacy as opposed to systems
administrators
User and System Requirements

● System requirements are the configuration that a system


must have in order for a hardware or software application
to run smoothly and efficiently.
● System requirements are a wide
● User requirements are detailed declaration that the client
makes are needed in order to meet their objectives.
● What the customer wants specifically and how they want
it should be made clear in the statement.
System Requirement

● Two different requirements:


○ Functional Requirements
■ Describes what product should do, its features
and functions
○ Non-functional Requirements
■ Focuses on general properties of a system
● Security, Processing speed, Reliability
Tools of Requirement Gathering

1.Interview

2.Questionnaire
3.Document analysis
4.Brainstorming
5.Observation
Need of System Analysis for Full Stack
Development

● System analysis enables the development of a system


with better management by altering the program to :
○ Users' needs
○ Technological advancements
○ Any changes that might be required in the future,
ensuring complete control over the finished result.
● The need to fully rewrite the software, which is usually
expensive, will also be eliminated if the system analysis
is done with good care.
System Design

● System design is the process of defining the elements


of a system
● These elements include:
○ Architecture
○ Modules
○ Components the different interfaces of those
components, and the data that goes through that
system.
Tools used for System Design

1.System Flow Chart


2.Data Flow Diagram (DFD)
3.Entity- Relation Diagram
4.Context Diagram
5.Decision Table
6.Decision Tree
7.Unified Modeling Language (UML)
8.Use Case
Use case diagram
Frontend
Development
What is frontend development

● Front-end web development, also known as client-side


development
● Practice of producing HTML, CSS and JavaScript for a website or
Web Application so that a user can see and interact with them
directly
● They need to ensure that their site comes up correctly in:
○ different browsers (cross-browser)
○ different operating systems (cross-platform)
○ different devices (cross-device)
Frontend technologies and frameworks

● Essential part of any business that strives to enhance user


interaction, efficiency, and the look and feel of their website
or application.
● Development teams use front-end technologies to create:
○ Website’s design
○ Structure, animation
○ Everything you see on the screen when you open it
Types of frontend frameworks/libraries

● Web-based
○ React.js
○ Angular.js
○ Vue.js
React Syntax

● Use of JSX
● Component based
● React-dom used to
interact with HTML
placement/root of
the page
Vue Syntax

● Use of JSX
● Component based
● Use of template tags
to write JSX and
organize code as
separate component
Angular Syntax

● Use of JSX but through


TypeScript
● Component based
● Use of decorators (ex.
@component) which
defines and provides
metadata to a class or
functional component
Types of frontend frameworks/libraries

● Mobile-based
○ Flutter
○ React-Native
React-Native Syntax
● Basically React but
created for mobile
● Use of JSX
● Component based
● Use of mobile
compartments such
as View (Div
equivalent in React),
statusBar, etc
Flutter Syntax

● Uses the Dart


Language
● Widget based
● Unlike
components,
widget allows for
more customizable
Backend
Development
What is backend development?

● Also known as data access layer


● terminology used to describe the server side or logical aspect of an
application or website
● Persists data so frontend part can use the information properly
● Unlike the frontend, the backend does not have a graphical interface
● Uses languages such as Java, JavaScript, C#, Python and many more to
write its logic
● Usually prominent
Key Aspects of backend development

● There are three key points behind the backend of an application


1. Server
2. Database
a. SQL
b. NOSQL
3. Application itself
● All three key points are binded and work together through the use of
Application Programming Interface (API)
Application Programming Interface

● A way for clients and server to communicate with one another


● API also involve database manipulation
● This is what is used by the frontend to make the request response cycle
start up
● Like stated before, APIs can be written in many kinds of programming
languages
Server-Client Relationship

● Client sends Request


to server
● Server checks
database for
requested data
● Loads data on the
web
● Server Response to
Client
Types of Backend
Technologies
Types of Backend Technology

● Laravel
● C# (ASP.NET)
● Node JS
Laravel Syntax

● Uses PHP as its language


● Uses templates to ease PHP complexity
○ Frontend possible through Blade (A laravel template)
● Implementing DRY principle (Don’t repeat yourself)
Node JS and Express JS Syntax

● Uses JavaScript as its language base


● Express JS provides concept of middleware
○ Middleware is an array of functions useful for implementing
some issues needed in program
● Allows to write API through using RES and REQ (result and
request)
○ Allowing to communicate with server and client
○ This is also a middleware on its own
ASP.NET Syntax

● Use of Razor Syntax (A C# based programming language)


● To focus on server side, use @ symbol to start inline, single
or multi-statement block
Most favored or used back-end technology

● Most favored back-end tech in order are:


○ Laravel
○ Django
○ Flask
○ Express.Js
○ Ruby On Rails
Deployment
Website Deployment

● Step 1:- To publish a website, you'll need a website hosting provider.


● Step 2:- Purchase a domain name.
● Step 3:- Optimize Your Website.
● Step 4:- Uploading in a Browser.
○ 4.1:- Log into your hosting service
○ 4.2 Open the File Manager.
○ 4.3 Navigate to your web root or directory.
○ 4.4 Select the files you want to upload and upload it.
The Connection
Overall Connection

● System analysis and its relation to front-end development


○ User experience designed prior hand so building frontend is
simple
○ Attraction and overall feel of system is spectacular
● System analysis and its relation to back-end development
○ Database planning makes it easier to build necessary database
alongside their relationship
● The relationship between front-end and back-end
development
○ Codependency as one can not provide much without the other
Opportunities and
Challenges In Full
Stack/ Web
Development
Opportunities

● Comprehensive programming abilities


● Full-stack developers understand back-end and front-end
programming steps, which may expand their career options.
● Due to its impact on marketing and business, full-stack web
development has become one of the most paid occupations in the
world.
● Fast job growth
Challenges

● Working with multiple technologies


● Managing front-end and back-end development
● Testing and debugging code
● Knowledge of multiple programming languages
Where to start
Possible Resources

● Many possible resources to start your full stack


development journey
○ Udemy
○ Academind
○ Coursera (Free)
Best books

● Cookbooks are amazing resources to get the overall


concept of a given tech stack or topic:
○ Node Cookbook
○ Laravel Cookbook
○ React Cookbook
○ Object Oriented Analysis and Design Cookbook
THANK YOU

You might also like