The work consists on developing an API with .Net Core 2.2 with entity framework that fulfills the following characteristics:
1. Map the db (sql server) using Entity Framework
2. JWT authentication and token refresh.
3. Management of data property (each user see only his data)
4. API disponibility by Swagger configuration.
5.3. Recover password (by link to mail)
5.4. Recover user (by mail)
5.5. Login/token generation alert (sending mail when returning a token)
5.6. Profile edition (firstname, lastname , photo1, photo2, photo3, photo4, address information, ID, telephone and registration email * cannot be changed)
5.7. Transfer orders (enum states: pending, approved, closed, canceled)
Transfer orders will only be one record per transfer and will have the following data: cdTransferOrder, dsCBU, qtQuantity, dsStatus, dtStatusChange, cdUser (plus audit fields)
5.8. Purchase orders (enum states: pending, approved, closed, canceled)
The purchase orders will only be one record per purchase and will have the following data: cdPurchaseOrder, qtShownPrice, qtQuantity, dsStatus, dtStatusChange, cdUser (plus the audit fields)
1. It is preferred that all names of tables, fields, variables, methods, classes, etc. be in English.
2. All tables/ model classes must start with Tb (example TbUser)
3. All tables must have the audit fields: creation date, user id that creates it and last update (dt_created, dt_updated, cd_created_user, cd_updated_user)
4. All fields in the database must comply with the following prefixes:
cd when it is the index of the table or reference to index of another table, ds when it is a description or any string, dt when it is a datetime, qt when it refers to quantity or price. Ex: (see sample transfer order structures)
*use nu get package manager for installing dependencies.