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.
For successful usage of project need to set up appsettings.json
configuration file at /ProjectTisa
directory.
{
"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:
- Open Package Manager Console in VS.
- Run
PM> add-migration Initial
- Run
PM> update-database Initial