/frontend-bootcamp

Frontend Workshop from HTML/CSS/JS to TypeScript/React/Redux

Primary LanguageTypeScript

Frontend Bootcamp / Days in the Web

🚨🚨 This project is still a WIP. Issues and PRs are welcome for typos or inaccuracies. 🚨🚨

Purpose of this workshop

This repo is the content for a two-day workshop focused on introducing you to the fundamentals of web development. By the end of these two days you will have a better understanding of how we write and deliver features on the web. You will also get some hands-on experience using everything from HTML, CSS and JavaScript to React, Redux and UI Fabric as we build a working application together.

Who this workshop is for

This workshop starts as a very high level introduction to the core principles of the web: HTML, CSS and JavaScript. This section is targeted at new and experienced developers alike. The second day dives into more complex topics such as TypeScript and state management within an application. The examples should be accessible to anyone, but you will get more out of the day if you have some foundational experience in programming or web technologies.

Web Workshop Setup

Computer Setup

Demo/Exercise Setup

  $ git clone https://github.com/Microsoft/frontend-bootcamp.git
  $ cd frontend-bootcamp
  $ npm install

  # For Day 1, Steps 1-3
  $ npm run static
  # For the rest of the steps
  $ npm start

Table of Contents

Day One

  1. Introduction to HTML, CSS and JavaScript
  2. Writing a Todo App: HTML and CSS
  3. Writing a Todo App: JavaScript
  4. React Introduction
  5. Building a Static Page
  6. State Driven UI
  7. Types & UI Driven State

Day Two

Demo and Exercises are combined

  1. Introduction to TypeScript
  2. UI Fabric Component Library
  3. Theming and Styling
  4. Testing with Jest
  5. Redux: Reducers
  6. Redux: Dispatching Actions and Examining State
  7. Redux: Stores and Dispatch
  8. Redux: Combining Reducers
  9. Redux: Thunk Middleware

Additional Resources

Follow the Authors!

If you are interested in JavaScript, TypeScript, React, Redux, or Design Systems, follow us on Twitter:

Other projects from the UI Fabric team @ MS

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Legal Notices

Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the LICENSE-CODE file.

Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.

Privacy information can be found at https://privacy.microsoft.com/en-us/

Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.