443 | Web development technologies have evolved at an incredible clip over the past few years. 444 |
445 |Introducing RealWorld.
446 |It's a great solution for learning how other frameworks work.
447 |├── .gitignore ├── BACKEND_INSTRUCTIONS.md ├── FRONTEND_INSTRUCTIONS.md ├── MOBILE_INSTRUCTIONS.md ├── blazor-realworld-example-app.sln ├── blazor-realworld-example-app.sln.DotSettings ├── logo.pdn ├── logo.png ├── readme.md ├── src └── BlazorRealworld │ ├── ApiClient.cs │ ├── App.cshtml │ ├── AppState.cs │ ├── BlazorRealworld.csproj │ ├── Model │ ├── ArticleModel.cs │ ├── ErrorsModel.cs │ ├── ProfileModel.cs │ └── UserModel.cs │ ├── NuGet.config │ ├── Pages │ ├── Article.cshtml │ ├── Counter.cshtml │ ├── Editor.cshtml │ ├── FetchData.cshtml │ ├── Index.cshtml │ ├── Profile.cshtml │ ├── Settings.cshtml │ ├── SignIn.cshtml │ ├── SignUp.cshtml │ └── _ViewImports.cshtml │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Shared │ ├── ArticleList.cshtml │ ├── ErrorMessages.cshtml │ └── MainLayout.cshtml │ ├── _ViewImports.cshtml │ ├── global.json │ └── wwwroot │ ├── favicon.ico │ ├── index.html │ └── interop.js └── test ├── cypress.json ├── cypress ├── fixtures │ ├── example.json │ ├── profile.json │ └── users.json ├── integration │ └── realworld_spec.js ├── plugins │ └── index.js └── support │ ├── commands.js │ └── index.js ├── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /bower_components 6 | 7 | # IDEs and editors 8 | /.idea 9 | .project 10 | .classpath 11 | *.launch 12 | .settings/ 13 | .vs 14 | 15 | # System Files 16 | .DS_Store 17 | Thumbs.db 18 | 19 | # Build output 20 | obj/ 21 | bin/ 22 | 23 | # Personal files 24 | **/*.csproj.user 25 | 26 | # Deployment definition 27 | *Web Deploy.pubxml* 28 | 29 | node_modules/ 30 | /test/cypress/screenshots/ 31 | /test/cypress/videos/ 32 | cypress.env.json 33 | /test/*.log 34 | -------------------------------------------------------------------------------- /BACKEND_INSTRUCTIONS.md: -------------------------------------------------------------------------------- 1 | > *Note: Delete this file before publishing your app!* 2 | 3 | # [Backend API spec](https://github.com/gothinkster/realworld/tree/master/api) 4 | 5 | For your convenience, we have a [Postman collection](https://github.com/gothinkster/realworld/blob/master/api/Conduit.postman_collection.json) that you can use to test your API endpoints as you build your app. 6 | -------------------------------------------------------------------------------- /FRONTEND_INSTRUCTIONS.md: -------------------------------------------------------------------------------- 1 | > *Note: Delete this file before publishing your app!* 2 | 3 | ### Using the hosted API 4 | 5 | Simply point your [API requests](https://github.com/gothinkster/realworld/tree/master/api) to `https://conduit.productionready.io/api` and you're good to go! 6 | 7 | ### Routing Guidelines 8 | 9 | - Home page (URL: /#/ ) 10 | - List of tags 11 | - List of articles pulled from either Feed, Global, or by Tag 12 | - Pagination for list of articles 13 | - Sign in/Sign up pages (URL: /#/login, /#/register ) 14 | - Uses JWT (store the token in localStorage) 15 | - Authentication can be easily switched to session/cookie based 16 | - Settings page (URL: /#/settings ) 17 | - Editor page to create/edit articles (URL: /#/editor, /#/editor/article-slug-here ) 18 | - Article page (URL: /#/article/article-slug-here ) 19 | - Delete article button (only shown to article's author) 20 | - Render markdown from server client side 21 | - Comments section at bottom of page 22 | - Delete comment button (only shown to comment's author) 23 | - Profile page (URL: /#/profile/:username, /#/profile/:username/favorites ) 24 | - Show basic user info 25 | - List of articles populated from author's created articles or author's favorited articles 26 | 27 | # Styles 28 | 29 | Instead of having the Bootstrap theme included locally, we recommend loading the precompiled theme from our CDN (our [header template](#header) does this by default): 30 | 31 | ```html 32 | 33 | ``` 34 | 35 | Alternatively, if you want to make modifications to the theme, check out the [theme's repo](https://github.com/gothinkster/conduit-bootstrap-template). 36 | 37 | 38 | # Templates 39 | 40 | - [Layout](#layout) 41 | - [Header](#header) 42 | - [Footer](#footer) 43 | - [Pages](#pages) 44 | - [Home](#home) 45 | - [Login/Register](#loginregister) 46 | - [Profile](#profile) 47 | - [Settings](#settings) 48 | - [Create/Edit Article](#createedit-article) 49 | - [Article](#article) 50 | 51 | 52 | ## Layout 53 | 54 | 55 | ### Header 56 | 57 | ```html 58 | 59 | 60 |
61 | 62 |213 | Have an account? 214 |
215 | 216 | 219 | 220 | 234 |443 | Web development technologies have evolved at an incredible clip over the past few years. 444 |
445 |It's a great solution for learning how other frameworks work.
447 |With supporting text below as a natural lead-in to additional content.
493 |With supporting text below as a natural lead-in to additional content.
507 |With supporting text below as a natural lead-in to additional content.
104 |With supporting text below as a natural lead-in to additional content.
118 |Current count: @currentCount
5 | 6 | 7 | 8 | @functions { 9 | int currentCount = 0; 10 | 11 | void IncrementCount() 12 | { 13 | currentCount++; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/BlazorRealworld/Pages/Editor.cshtml: -------------------------------------------------------------------------------- 1 | @using BlazorRealworld.Model 2 | @page "/editor" 3 | @page "/editor/{Slug}" 4 | @inject ApiClient api 5 | @inject IUriHelper uriHelper 6 | 7 | @if (articleModel != null) 8 | { 9 |This component demonstrates fetching data from the server.
7 | 8 | @if (forecasts == null) 9 | { 10 |Loading...
11 | } 12 | else 13 | { 14 |Date | 18 |Temp. (C) | 19 |Temp. (F) | 20 |Summary | 21 |
---|---|---|---|
@forecast.Date.ToShortDateString() | 28 |@forecast.TemperatureC | 29 |@forecast.TemperatureF | 30 |@forecast.Summary | 31 |