In this module we connect express with sequelize https://sequelize.org/docs/v6/getting-started/
In this project we use a Mysql DB, but sequelize also gives you possibility to connect to :
Mariadb
Postgres
SQliteDB
Microsoft SQL Server
Oracle Database
The docker-compose.yml
file, also is configured to connect the project on a MySQL Image, you should updated it, if you intend to use another DBMS
The plugin used to combine typescript and sequelize is not the official of sequelize.org
.
But as precised in the documentation, it still in work in progress. They recommand to use package sequelize-typescript
(https://www.npmjs.com/package/sequelize-typescript) until their improvements are ready to be released.
Please check the official page to be informed on a potential update (https://sequelize.org/docs/v6/other-topics/typescript/)
In this module we use jsonwebtoken
to protect the routes of this api
https://github.com/auth0/node-jsonwebtoken#readme
- Add environnement variables
cp .env.example .env
- Update variables in
.env
file - Update JWT_SECRET key in .env
- Install dependencies:
yarn install
- Build TS to JS:
yarn build
- Run migrations:
yarn sequelize-cli db:migrate
- Run seeders:
yarn sequelize-cli db:seed:all
Serve with hot reload at http://localhost:port/ : yarn dev
Api will runing on http://localhost:port/api
Build for production and launch server:
yarn build
yarn start
yarn generate
-
Create image
docker build . -t node-typecript-starter
-
Run container
docker run -p 8000:8000 -d node-typecript-starter
With Docker compose
-
Run the containers
docker compose up -d
-
Stop the containers
docker compose down
-
Rebuild the containers
docker compose build