- FastEndpoints
- FluentValidation
- Ardalis.Specification
- Ardalis.SmartEnum
- XUnit
- TestContainers
- FluentAssertions
- Bogus
- Rename
.env.example
to.env
- Build the project
docker compose build
- Start project
docker compose up -d
- Seed platform admin
{ "Seeders": { "PlatformAdminSeeder": { "FirstName": "John", "LastName": "Doe", "Email": "[email protected]", "PhoneNumber": "1234567890", "Password": "<your-password>" } } }
- Navigate to http://localhost:5000/swagger/index.html
- Obtain token
POST /api/auth { "username": "<your-username>", "password": "<your-password>" }
- Enjoy
- start a postgres instance
- update appsettings.Development.json
- Build
- Run and debug
- Enjoy
Run the following command in the project root folder
dotnet ef migrations add MyNewMigration --project .\src\Vote.Monitor.Domain --startup-project .\src\Vote.Monitor.Api
For local development you can use your local file system for storage by setting the file storge type in appconfig as follows.
"FileStorage": {
"FileStorageType": "LocalDisk",
"LocalDisk": {
"Path": "Uploads"
},
"S3": {
...
}
}
To use S3 file storage, you need to set "FileStorageType": "S3",
and need to have the following environment variables set, with the key ID referencing an IAM user with permissions restricted to only S3.
"AWS_ACCESS_KEY_ID": "",
"AWS_SECRET_ACCESS_KEY": "",
"AWS_REGION": ""
Alternatively, you can use a locally configured aws profile.