Back End - Web Development
Theory
- Basic
- Authentication & Authorization
- JSON Web Token
- Cookies & Sessions
- OAuth (Login via Google, Twitter, GitHub)
- Authentication Libraries (Passport, Grant)
- Password Hashing => Bcrypt
- Protecting endpoints and routes
- Database
- Type => Relational (SQL), NoSQL
- File Format => JSON, BSON
- Technology
- PostgreSQL, MySQL, SQLite, MongoDB, Supabase
- Redis
- Tools => PG Admin, MySQL Workbench, MongoDB Compass
- ORMs => Sequelize, Mongoose, Prisma, SQLAlchemy, Doctrine
- CURD => Create, Read, Update, Delete
- Headless CMS => Content Management System for creating API with no front-end
- Strapi
- Sanity.io
- Wordpress
- ContentFUl, GraphCMS
- API
- REST API => APIs that conform to the REST architectural style and interacts with RESTful services
- Representational State Transfer
- HTTP request work wih data/resources
- Specific URL structure for endpoints
- GraphQL => Data query and manipulation language for API
- Request specific data points
- Strongly typed
- Less maintenance than REST
- GraphQL Client => Apollo
- Others
- Firebase
- NoSQL, File Storage, Authentication, Serverless Function
- Tools
- Postman, VS CODE Thunder Client
Languages
- Node.js
- Framework
- Express
- Fastify, Koa, Nest.js
- Database
- MongoDB => NoSQL Documenting
- redis => redisJSON, redisBloom
- MySQL
- Library
- Mongoose => For doing CRUD operation in MongoDB
- Package Manager
- Python
- Framework
- Database
- MongoDB => Used with Python based ORM (Instead of Mongoose)
- PostgreSQL
- Library
- Package manager => PIP
- PHP
- Ruby
- Java
- C#
- GO Lang