├── .gitignore ├── Dockerfile ├── RealWorld.sln ├── circle.yml ├── logo.png ├── readme.md ├── src └── RealWorld │ ├── Domain │ ├── Article.cs │ ├── ArticleFavorite.cs │ ├── ArticleTag.cs │ ├── Comment.cs │ ├── FollowedPeople.cs │ ├── Person.cs │ └── Tag.cs │ ├── Features │ ├── Articles │ │ ├── ArticleEnvelope.cs │ │ ├── ArticleExtensions.cs │ │ ├── ArticlesController.cs │ │ ├── ArticlesEnvelope.cs │ │ ├── Create.cs │ │ ├── Delete.cs │ │ ├── Details.cs │ │ ├── Edit.cs │ │ └── List.cs │ ├── Comments │ │ ├── CommentEnvelope.cs │ │ ├── CommentsController.cs │ │ ├── CommentsEnvelope.cs │ │ ├── Create.cs │ │ ├── Delete.cs │ │ └── List.cs │ ├── Favorites │ │ ├── Add.cs │ │ ├── Delete.cs │ │ └── FavoritesController.cs │ ├── Followers │ │ ├── Add.cs │ │ ├── Delete.cs │ │ └── FollowersController.cs │ ├── Profiles │ │ ├── Details.cs │ │ ├── IProfileReader.cs │ │ ├── MappingProfile.cs │ │ ├── Profile.cs │ │ ├── ProfileEnvelope.cs │ │ ├── ProfileReader.cs │ │ └── ProfilesController.cs │ ├── Tags │ │ ├── List.cs │ │ ├── TagsController.cs │ │ └── TagsEnvelope.cs │ └── Users │ │ ├── Create.cs │ │ ├── Details.cs │ │ ├── Edit.cs │ │ ├── Login.cs │ │ ├── MappingProfile.cs │ │ ├── User.cs │ │ ├── UserController.cs │ │ └── UsersController.cs │ ├── Infrastructure │ ├── CurrentUserAccessor.cs │ ├── Errors │ │ ├── ErrorHandlingMiddleware.cs │ │ └── RestException.cs │ ├── GroupByApiRootConvention.cs │ ├── ICurrentUserAccessor.cs │ ├── RealWorldContext.cs │ ├── Security │ │ ├── IJwtTokenGenerator.cs │ │ ├── IPasswordHasher.cs │ │ ├── JwtIssuerOptions.cs │ │ ├── JwtTokenGenerator.cs │ │ └── PasswordHasher.cs │ ├── Slug.cs │ └── ValidatorActionFilter.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── RealWorld.csproj │ ├── Startup.cs │ └── StartupExtensions.cs └── tests └── Realworld.IntegrationTests ├── Features └── Users │ ├── CreateTests.cs │ └── LoginTests.cs ├── Realworld.IntegrationTests.csproj └── SliceFixture.cs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/Dockerfile -------------------------------------------------------------------------------- /RealWorld.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/RealWorld.sln -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/circle.yml -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/logo.png -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/readme.md -------------------------------------------------------------------------------- /src/RealWorld/Domain/Article.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Domain/Article.cs -------------------------------------------------------------------------------- /src/RealWorld/Domain/ArticleFavorite.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Domain/ArticleFavorite.cs -------------------------------------------------------------------------------- /src/RealWorld/Domain/ArticleTag.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Domain/ArticleTag.cs -------------------------------------------------------------------------------- /src/RealWorld/Domain/Comment.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Domain/Comment.cs -------------------------------------------------------------------------------- /src/RealWorld/Domain/FollowedPeople.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Domain/FollowedPeople.cs -------------------------------------------------------------------------------- /src/RealWorld/Domain/Person.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Domain/Person.cs -------------------------------------------------------------------------------- /src/RealWorld/Domain/Tag.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Domain/Tag.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/ArticleEnvelope.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/ArticleEnvelope.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/ArticleExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/ArticleExtensions.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/ArticlesController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/ArticlesController.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/ArticlesEnvelope.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/ArticlesEnvelope.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/Create.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/Create.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/Delete.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/Delete.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/Details.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/Details.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/Edit.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/Edit.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Articles/List.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Articles/List.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Comments/CommentEnvelope.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Comments/CommentEnvelope.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Comments/CommentsController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Comments/CommentsController.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Comments/CommentsEnvelope.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Comments/CommentsEnvelope.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Comments/Create.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Comments/Create.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Comments/Delete.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Comments/Delete.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Comments/List.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Comments/List.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Favorites/Add.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Favorites/Add.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Favorites/Delete.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Favorites/Delete.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Favorites/FavoritesController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Favorites/FavoritesController.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Followers/Add.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Followers/Add.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Followers/Delete.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Followers/Delete.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Followers/FollowersController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Followers/FollowersController.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Profiles/Details.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Profiles/Details.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Profiles/IProfileReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Profiles/IProfileReader.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Profiles/MappingProfile.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Profiles/MappingProfile.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Profiles/Profile.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Profiles/Profile.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Profiles/ProfileEnvelope.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Profiles/ProfileEnvelope.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Profiles/ProfileReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Profiles/ProfileReader.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Profiles/ProfilesController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Profiles/ProfilesController.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Tags/List.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Tags/List.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Tags/TagsController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Tags/TagsController.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Tags/TagsEnvelope.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Tags/TagsEnvelope.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/Create.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/Create.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/Details.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/Details.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/Edit.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/Edit.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/Login.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/Login.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/MappingProfile.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/MappingProfile.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/User.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/User.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/UserController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/UserController.cs -------------------------------------------------------------------------------- /src/RealWorld/Features/Users/UsersController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Features/Users/UsersController.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/CurrentUserAccessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/CurrentUserAccessor.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Errors/ErrorHandlingMiddleware.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Errors/ErrorHandlingMiddleware.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Errors/RestException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Errors/RestException.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/GroupByApiRootConvention.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/GroupByApiRootConvention.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/ICurrentUserAccessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/ICurrentUserAccessor.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/RealWorldContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/RealWorldContext.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Security/IJwtTokenGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Security/IJwtTokenGenerator.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Security/IPasswordHasher.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Security/IPasswordHasher.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Security/JwtIssuerOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Security/JwtIssuerOptions.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Security/JwtTokenGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Security/JwtTokenGenerator.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Security/PasswordHasher.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Security/PasswordHasher.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/Slug.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/Slug.cs -------------------------------------------------------------------------------- /src/RealWorld/Infrastructure/ValidatorActionFilter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Infrastructure/ValidatorActionFilter.cs -------------------------------------------------------------------------------- /src/RealWorld/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Program.cs -------------------------------------------------------------------------------- /src/RealWorld/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/RealWorld/RealWorld.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/RealWorld.csproj -------------------------------------------------------------------------------- /src/RealWorld/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/Startup.cs -------------------------------------------------------------------------------- /src/RealWorld/StartupExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/src/RealWorld/StartupExtensions.cs -------------------------------------------------------------------------------- /tests/Realworld.IntegrationTests/Features/Users/CreateTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/tests/Realworld.IntegrationTests/Features/Users/CreateTests.cs -------------------------------------------------------------------------------- /tests/Realworld.IntegrationTests/Features/Users/LoginTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/tests/Realworld.IntegrationTests/Features/Users/LoginTests.cs -------------------------------------------------------------------------------- /tests/Realworld.IntegrationTests/Realworld.IntegrationTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/tests/Realworld.IntegrationTests/Realworld.IntegrationTests.csproj -------------------------------------------------------------------------------- /tests/Realworld.IntegrationTests/SliceFixture.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamhathcock/realworld-aspnetcore-kit/HEAD/tests/Realworld.IntegrationTests/SliceFixture.cs --------------------------------------------------------------------------------