/Ts-Api-Template

This is an API template made with express and typescript, to speed up your development, it contains repositories and generic services for the typical CRUD actions, based on a Sequelize model, we use it for data persistence

Primary LanguageTypeScriptMIT LicenseMIT

Ts-Template-Api

This is an API template made with express and typescript, to speed up your development, it contains repositories and generic services for the typical CRUD actions, based on a Sequelize model, we use it for data persistence

ORM: Sequelize
Language: Typescript
Framework: Express
Database: mySql
Deploy: Vercel,
Auth: JWT
Documentation: Swagger

Badges

MIT License GitHub Last Commit

🛠️ Tools

Node Express Typescript Sequelize Mysql Vercel JWT Swagger Prettier Eslint Ts-Standard

Installation

 git clone https://github.com/ImRLopezAG/Ts-Api-Template.git

 cd my-project
 npm install my-project

 cd my-project
 yarn install my-project

 cd my-project
 pnpm install my-project

 you need to configure .env file like the .env.dev  also you can add your configuration

API Reference

Authenticate with JWT

  Post /api/Auth/Login
Body Type Description
username string Required. username
password string Required. password

Get all items

  GET /api/Entity/List

Get item

 GET /api/Entity/Get/${id}
Parameter Type Description
id string Required. Id of item to fetch

Post item

 Post /api/Entity/Create
Body Type Description
Entity Properties Entity Required. properties of item to fetch

Update item

 Put /api/Entity/Update
Parameter Type Description
id string Required. Id of item to update
Body Type Description
Entity Properties Entity Required. properties of item to put

Delete item

 Delete /api/Entity/Delete
Parameter Type Description
id string Required. Id of item to delete

Users

Get Users

  GET /api/User/List

Get User

  GET /api/User/Get/${id}
Parameter Type Description
id string Required. Id of item to fetch

Get User by email

  GET /api/User/email/${email}
Parameter Type Description
email string Required. Id of item to fetch

Get User by username

  GET /api/User/username/${username}
Parameter Type Description
username string Required. Id of item to fetch

Add User

  Post /api/User/Create
Body Type Description
email string Required.
username string Required.
password string Required.

Update User

  Put /api/User/Update/${id}
Parameter Type Description
id string Required.
Body Type Description
email string Required.
username string Required.
password string Required.

Delete User

  Delete /api/User/Delete/${id}
Parameter Type Description
id string Required.

Authors

🔗 Links

portfolio linkedin twitter