https://github.com/jonathas/react-alura
Alura's React courses
https://github.com/jonathas/react-alura
alura javascript react reactjs
Last synced: 3 months ago
JSON representation
Alura's React courses
- Host: GitHub
- URL: https://github.com/jonathas/react-alura
- Owner: jonathas
- License: mit
- Created: 2017-11-12T11:30:57.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-20T18:18:39.000Z (over 7 years ago)
- Last Synced: 2025-05-31T11:31:31.938Z (about 1 year ago)
- Topics: alura, javascript, react, reactjs
- Language: JavaScript
- Homepage: https://www.alura.com.br/carreira-programador-react
- Size: 53.9 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Alura - React courses
This is the code that I've developed following the course. I've made some changes in the original one.
## React course part 1: Reusable components for your webapp
### Downloading and running the server
Download the jar file from [http://bit.ly/jar-api-curso-react](http://bit.ly/jar-api-curso-react).
Now, in case your MySQL server doesn't have a password, you can just run:
```bash
java -jar jar-cdc-react.jar
```
In case your MySQL server has a password, run it the following way:
```bash
java -Dspring.datasource.password=myPassword -jar jar-cdc-react.jar
```
## Content
### Creating and configuring the project
- Understanding what we are going to build during the course
- Configuring the environment and create-react-app
- Our first page
- Why do we use JSX and Babel?
- Where does Webpack come in?
### HTML structure of the first page
- Importing CSS
- Defining HTML
- Implementation of the base layout
### Consuming the API and bringing our listing to life
- Maintaining the state of the component
- Updating Component Status
- Understanding a little more about the details of React
- Setting up the environment for running the API locally
- Implementing dynamic listing
### Registering new authors
- Synthetic events
- Keeping the state of form fields
- Updating the listing based on the form
- Reuse of components and parameterization
### Refactoring the author component and improving communication
- Extracting the enrollment components for specific classes
- High Order Components
- Publish / Subscriber to Decrease Coupling
- Dealing with API validation errors
### Routes and the React Router
- Router Configuration
- Navigating with the History API
- Daughter Routes and IndexRoute
### Book and general review
- Implementation of the book registry
- Selecting the author
### Latest improvements and next steps
- Spread operator
- Simplifying the form
- Build and deploy demo
- Analyzing what was generated for us by create-react-app
---
## React course part 2: Container components and the react life cycle
### Downloading and running the server
Download the jar file from [https://github.com/alberto-alura/instalura-api/raw/master/instalura.jar](https://github.com/alberto-alura/instalura-api/raw/master/instalura.jar).
Now, in case your MySQL server doesn't have a password, you can just run:
```bash
java -jar instalura.jar
```
In case your MySQL server has a password, run it the following way:
```bash
java -Dspring.datasource.password=myPassword -jar instalura.jar
```
Then access the following address to populate the database: http://localhost:8080/gera/dados
## Content
### Creation of Instalura
- Importing html, css and images
- Discovering the components of our application
### Consuming the Instalura API
- Using the Fetch API
- Dealing with Promises
### Deeper into the React Router
- Using parameters on the route
- onEnter to check conditions before entering route
### JWT-based Authentication
- JWT to traffic the user's token
### A bit more of the React life cycle and components
- Having attributes that are not part of the component state
- componentWillReceiveProps and one more way to handle state change in component
### A little more division of responsibilities
- Implementation of like and comment features
- Presentational and Container components
---
## React course part 3: The flux architecture, Redux implementation and server side rendering
## Content
### Flux
- Separating application logics into lighter layers
- Pattern Flux to make clear the path of data within our application
### Introduction to Redux
- Redux as Flux implementation
- redux-thunk for asynchronous actions
### Going deeper into Redux
- Bringing immutability to the project
- Isolating action creation with Action Creators
- Combining various reducing functions
### Integration between React and Redux
- Using the connect function to generate container components
- Using the component provider to make the store available to everyone
### Rendering on the server
- A little bit of Electrode
- Universal Javascript
- One store for each new request