- CRUD completo para gerenciamento de entidades (usuários, produtos e situações)
- Autenticação de usuários com JWT (JSON Web Token)
- Criptografia de senhas utilizando bcryptjs
- Validação de dados e formulários com Yup
- Envio de e-mails para recuperação de senha com Nodemailer
- Conversão automática de nomes em slugs para URLs amigáveis
- Criação e atualização do banco de dados via migrations
- Inserção de dados iniciais através de seeds
npm initnpm i typeorm --save
npm i reflect-metadata --save
npm i mysql2 --savenpm i dotenv --savenpm i --save-dev @types/express
npm i --save-dev @types/node
npm i --save-dev @types/dotenvnpm i --save-dev concurrentlyInstalar o compilador de projeto com o TypeScript e reiniciar o projeto quando o arquivo for modificado
npm i --save-dev ts-nodeCREATE DATABASE nodeapi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;npx typeorm migration:create src/migration/CreateSituationsTable
npx typeorm migration:create src/migration/CreateUsersTable
npx typeorm migration:create src/migration/CreateCategoryProdutsTable
npx typeorm migration:create src/migration/AddPasswordToUsers
npx typeorm migration:create src/migration/AddSlugToProducts
npx typeorm migration:create src/migration/AddRecoverPasswordToUsers
npx typeorm migration:run -d dist/data-source.js
node dist/run-seeds.js
npx tscnode dist/index.js
###Compilar
npm run start:watch
npm i yupnpm i cors
npm install --save-dev @types/corsnpm install slugify
npm install --save-dev @types/bcryptjs
npm install jsonwebtoken
npm i --save-dev @types/jsonwebtoken
### instalado nodemailer.
npm install --save-dev @types/nodemailer