Add the following extensions
- Prettier - Code formatter
- ESLint
// eslint & prettier auto format on save
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"eslint.codeActionsOnSave.rules": null
-
Create a Vercel API Token
-
Run vercel login
npx vercel login
-
Run vercel link to create a new Vercel project and get your VERCEL_ORG_ID, and VERCEL_PROJECT_ID (.vercel/project.json) .
-
Inside GitHub, add VERCEL_TOKEN, VERCEL_ORG_ID, and VERCEL_PROJECT_ID as secrets
Test the workflow by pushing modifications on the production brach.
When deploying on vercel using NextAuth set the following environment variables
- NEXTAUTH_SECRET
- NEXTAUTH_URL
- POSTGRES_DB=postgress
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
Make sure to have docker-compose installed then docker-compose up from the folder docker/db
docker-compose up
- run migration
npm run db:migrate