-
-
Notifications
You must be signed in to change notification settings - Fork 1
Frontend Frontend Op Qual
Schuster Braun edited this page Aug 4, 2021
·
1 revision
Frontend frontend engineers are expected to deliver performant and accessible user experiences that are delivered to web browsers.
- Internet Basics
- Understand the impact of the internet and its ever expanding market=
- (Context for why we chose web development for a boot camp)
- Differentiate between browser, server, and PC
- Bonus Understand what a router does
- Bonus Understand DNS' relationship with ip addresses
- Understand the impact of the internet and its ever expanding market=
- CLI (navigate file system)
- Understand your file system and how to navigate to files and folders
-
ls
,cd
- VS Code
- Open code in a workspace
- Edit code and save it
- Add plugins/extensions
- Use command pallette
- VCS (Git/Git workflow)
- Save work to VCS (Github)
- View work on Github
- Pull (clone) work from VCS
- Create a branch
- Merge created branch
- Markdown
- Save a
README.md
file at root of project - View
README.md
on Github - Reference Github Markdown syntax
- Save a
- HTML
- Create a HTML document
- Add a
head
,body
- Add a
- Load a HTML document in the browser
- Add metadata to page
- Block and inline elements
- Add multimedia content
- Understand HTML attributes
- Create a HTML document
- CSS
- Box model
- Colors
- font apis (
font*
)
- Debug
- Troubleshoot HTML/CSS (browser's
Elements
tab)
- Troubleshoot HTML/CSS (browser's
- Load JS into a html document
<script>
- Debug and log (console.log, browser
console
tab, Nodejs console) - Create/update variables with any data type (string, boolean, integer)
- Create conditional statements (if/else)
- Create loops (for/while)
- Create/update arrays
- Create functions
- Create/update objects
- Bonus Add properties/methods to objects
- JS
- Select elements
- Add/remove elements
- Update element attributes
- Add event listeners
- JQuery
- Add libraries using
<script>
- Add libraries using
- CSS3
- children (
nth-child
) - pseudo elements (
:before
/:after
) - Use
position
- Use
display
- Use Flexbox
-
Bonus Use
keyframes
-
Bonus Use
transition
- children (
- Debug
- Troubleshoot z-index (browser
Layers
tab)
- Troubleshoot z-index (browser
- Figma
- Design web pages using tool
- Share designs
- SMACSS
- Use naming convention to write class names
- Responsive/Mobile design
- Use Media queries
- Use CSS Grid
- Accessibility
- Understand what is web accessibility
- Understand how to evaluate accessibility
- Understand how to develop with accessibility considerations
- (focus, color ratio)
- Use ARIA attributes
- Auditing
- Audit web page performance/accessibility (browser
Lighthouse
tab)
- Audit web page performance/accessibility (browser
- Draw.io
- Build wire frames
- Iterate and receive feedback on wire frames
- Figma
- Build reusable components
- Create color palette
- Concepts
- Understand tenants of design psychology
- Understand color theory
- Understand human computer interaction
- Understand design thinking
- (color, balance, typography, contrast, consistency)
- Implement design systems
- Implement style guides
- Understand interaction design methodologies
- (Goal Driven Design, Usability, The Five Dimensions, Cognitive Psychology, and Human Interface Guidelines)
- Understand design strategies
- Nodejs
- Install JS dependencies via npm
- Use bundler (Parcel or Webpack)
- Create simple npm scripts
- JS
- Understand scope
- Understand closures
- Understand hoisting
- Use higher order array functions (
map
,filter
) - Perform AJAX requests
- Use Promises
- Parse/stringify JSON data
- Debug
- Troubleshoot using breakpoints in VS Code/browser
- JS Testing
- Setup Jest
- Run Jest tests
- Create expectations/assertions
- Spy on functions
- Mock functions
- Deploy to Static content provider (netlify, surge, Github pages)
- React
- Install and run
create-react-app
- Render Hooks
- Pass data via props
- Render lists
- Conditionally render components
- Setup event listeners
- Use React hooks (
useState
,useEffect
,useContext
)
- Install and run
- ES6
- Understand purpose for Babel
- Use
let
andconst
- Use Arrow functions
- Use
async
/await
- Use object destructuring
- SASS
- Understand CSS preprocessing
- Understand CSS in JS
- Use Sass nesting
- Use Sass modules
- JS
- Understand some
this
binding issues - Create object constructor with
function
- Understand some
- ES6
- Use Rest/Spread operators
- Use
class
,constructor
, method syntaxes - Use
for...of
andfor...in
loops - Use optional chaining
- React
- Use React Router
- Test React components
- Use React Testing Library to Render containers
- Use
jest-dom
for assertions
- Debug
- Troubleshoot browser storage (browser
application
tab) - Troubleshoot data fetching (browser
network
tab )
- Troubleshoot browser storage (browser
- Understand the difference between SPA, and SSR vs SSG
- Use
create-next-app
to generate and develop apps - CRUD and navigate between pages
- Understand Next.js pre-rendering
- Generate static content (SSG) with
getStaticProps
- Use
getServerSideProps
to SSR - bonus Build dynamic routes
- bonus Create static/dynamic API routes