# Node.js - React.js
## Prerequisites:
1. Basic Programming Knowledge.
2. JavaScript Fundamentals.
3. HTML/CSS Basics.
4. Command Line Usage.
5. Understanding of Web Concepts.
---
## Topics:
### Node.js
##### 1. Introduction to Node.js
>Topics: Node.js basics, JavaScript ES6, modules, npm, asynchronous operations, file handling.
##### 2. Express.js and Web Applications
>Topics: Express.js basics, routing, middleware, REST APIs, CRUD operations.
##### 3. Databases and Authentication
>Topics: PostgreSQL and Sequelize for database operations, JWT-based user authentication, error handling, basic deployment.
### React.js
##### 1. Introduction to React
>Topics: React philosophy and component-based architecture, JSX, functional components, class components, props, state, event handling.
##### 2. Advanced React Concepts
>Topics: Component lifecycle methods, conditional rendering, lists and keys, forms and controlled components, lifting state up, composition vs inheritance.
##### 3. React Ecosystem and Application Deployment
>Topics: Introduction to React Router for routing, managing application state with Redux or Context API, an overview of styled-components for CSS in JS, basics of testing React components, deploying a React application.
---
## Assignment:
1. Create a basic blog website using Express.js with CRUD operations.
2. Add user registration/login and PostgreSQL integration to the blog website.
3. Build a more complex application (like a simple e-commerce site) showcasing the use of forms, lists and controlled components.