My submissions for Fullstack Open 2020
- Part 10 is an additional content added in late 2020, as React Native is not my learning priority at this moment, I will pass it for now.
- Fundamentals
- React
- Javascript
- State
- Hooks
- Props
- Modules
- Forms (Controlled)
- Fetch data from server
- Alter data in server
- RESTful API
- Styling
- Node.js and Express
- transitive dependencies
- semantic versioning
- Change a string into a number
Number(req.params.id)
- Server responds with stauts code when something wrong
res.status(404).end()
- Server responds with status code when deleting resources successfully
res.status(204).end()
- REST client - Visual Studio Code plugin
- Receiving data - body-parser
- Finding out what headers have been set in the HTTP Request when debugging
req.get('Content-Type')
- Spotting the missing Content-Type header
console.log(req.headers)
- The HTTP GET request should be safe
- The HTTP requests except POST should be idempotent
POST
is the only HTTP request type that is neither safe nor idempotent.
- Deploying app to the interent
- cors
- add the
Procfile
file to the project's root - backend endpoints:
https://phonebooookapi.herokuapp.com/
https://phonebooookapi.herokuapp.com/info
https://phonebooookapi.herokuapp.com/api/persons
https://phonebooookapi.herokuapp.com/api/persons/:id
- Saving data to MongoDB
- create a database on mongoDB
- install mongoose
- validation functionaility in Mongoose
- Validation and ESLint
- Structure of backend application
- Testing the backend
- Mock database library - mongo-mock
- Integration testing - multiple components of the system are being tested as a group
- Separate the
Logger
when doing tests- Logging services
- User administration
- Token authentication
- Login in frontend
- JWT implementation
- props.children and proptypes
- Togglable component
- Testing React apps
- End to End testing
- Flux-architecture and Redux
- reducers
- communicating with server in a redux app
- connect
- React-router
- Custom hooks
- More about styles
- Webpack
- Class components, Miscellaneous
- Extending the bloglist
- GraphQL server
- React and GraphQL
- Database and user administration
- Login and updating the cache
- Fragments and subscriptions
- Introduction
- First step with Typescript
- Typing the express app
- React with types
- Introduction to React Native
- Ract Native basics
- Communicating with server
- Testing and extending the application