/ProjectTisa-BackEnd

ASP.NET RESTful API for online shop. Learning project.

Primary LanguageC#MIT LicenseMIT

ProjectTisa

C# .Net PostgreSQL GitHub license

Learning project. API for online shop with authorization.

Using Entity Framework as ORM for access databases:

  • PostgreSQL as primary database for API.
  • SQLite as secondary database for tests.

Using Pinata as external storage for content.

Controllers

ManageControllers

UserRelatedControllers

CrudControllers

Set up

Configuration file

For successful usage of project need to set up appsettings.json configuration file at /ProjectTisa directory.

Example of appsettings.json file:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    },
    "File": {
      "Path": "app.log",
      "Append": true,
      "MinLevel": "Warning",
      "FileSizeLimitBytes": 0,
      "MaxRollingFiles": 0
    }
  },
  "AllowedHosts": "*",
  "AppInfo": {
    "ApplicationName": "Project Tisa",
    "CurrentHost": "www.tisa-backend.com",
    "AuthData": {
      "ExpirationTime": "3:00:00:00", //d:hh:mm:ss
      "Issuer": "www.tisa-backend.com",
      "Audience": "www.tisa-frontend.com",
      "IssuerSigningKey": "**",
      "IterationCount": **,
      "SaltSize": **,
      "HashAlgorithmOID": "**"
    },
    "SmtpData": {
      "Port": 587,
      "FromEmail": "**",
      "Password": "**"
    },
    "ExternalStorage": {
      "PostUrl": "https://api.pinata.cloud/pinning/pinFileToIPFS",
      "GetUrl": "https://api.pinata.cloud/data/pinList?includeCount=true",
      "Auth": "*access token to Pinata*"
    },
    "Version": "v1.0"
  },
  "ConnectionStrings": {
    "DefaultConnection": "**" //Connection string to primary database.
  }
}

** has to be changed.

Code-first database creation

For Code-first approach with Entity Framework use following steps:

  1. Open Package Manager Console in VS.
  2. Run PM> add-migration Initial
  3. Run PM> update-database Initial

Contacts

Outlook email
alpritor@outlook.com

Telegram
@Alpritor