Skip to content
This repository has been archived by the owner on Jan 24, 2020. It is now read-only.

Commit

Permalink
updated readme files
Browse files Browse the repository at this point in the history
  • Loading branch information
mrellipse committed Oct 25, 2017
1 parent 07073ca commit ce0122c
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 12 deletions.
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,22 @@

This is an opinionated multi-project solution template, combining .NET Core and Vue.js.

The main objective is to provide scaffolding for an SPA web application, that incorporates SOLID design principles.
The main objective is to provide scaffolding for a responsive SPA web application, that incorporates SOLID design principles.

See [releases](https://github.com/mrellipse/toucan/releases) for a history of recent changes

## Features
* localization
* validation
* global application state/event bus
* form validation
* token-based authentication for local & external providers
* multiple optimized entry points
* token-based authentication
* support for local or external authentication providers
* HMR support for development
* hot module reloading for development
* comprehensive [localization](src/I18N.md) (new)
* loading screen (new)

## Preview
![Screenshot](screen.png)

![mobile](mobile.jpg)

## Getting Started

Expand Down Expand Up @@ -43,6 +46,8 @@ or using [setup](SETUP.md) instructions

Be sure to check out [README](src/server/README.md) for details on MVC middleware and filters being used in the pipeline.

An outline on how localization works can be found in [I18N](src/I18N.md)

### .NET Core
See the readme files for each project
* [contract](src/contract/README.md)
Expand Down Expand Up @@ -115,9 +120,6 @@ For .NET Core, a sample XUnit test is provided as a starting point */test/* dire
* [TypeScript](https://www.TypeScriptlang.org/) - TypeScript is a typed superset of Javascript that compiles to plain JavaScript
* [Vue.js](https://vuejs.org/v2/guide/) - Simple yet powerful library for building modern web interfaces
* [Bootstrap](http://getbootstrap.com/) - Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.

      ![Built With](vendors.png)

* [Axios](https://github.com/mzabriskie/axios) - Promise based HTTP client for the browser and node.js
* [StructureMap](http://structuremap.github.io/) - IOC/DI container

Expand Down
6 changes: 4 additions & 2 deletions SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ npm install
npm install webpack -g
npm install typings -g
typings install
webpack -p --config webpack.config.js
webpack --config webpack.config.js
```

### Configuration
Expand Down Expand Up @@ -97,6 +97,8 @@ To remove a provider from appearing the UI, edit `externalProviders` class prope
Run the project by switching to ./src/server and running

```DOS
dotnet run -p server.csproj -c Development
set ASPNETCORE_ENVIRONMENT=Development
set ASPNETCORE_URLS=http://localhost:5000
dotnet run -p server.csproj
```
You should now be able to load the site at [http://localhost:5000/](http://localhost:5000/)
Binary file added mobile.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed screen.png
Binary file not shown.
21 changes: 21 additions & 0 deletions src/I18N.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Below are some details relating to localization support

The EF model builders for both Mssql and Postgres generate tables with
* datetime fields which store timezone
* string fields which support unicode

When coding you should always save dates as local UTC time. Datetime values are *implicitly converted* for any requests handled by Asp.NET Core controllers. This is done by registering a

* custom modelbinder (for handling inbound datetime values)
* custom json formatter (for handling both inbound and outbound datetime values)

Each of the above customizations to the pipeline uses an injected instance of IHttpServiceContextResolver to return an instance of IDomainContext. The IDomainContext exposes the current

* culture
* timezone
* user details

The ILocalizationService can be used to get a full list of all supported cultures, timezones, and create a dictionary of culture-specific resource strings.

The default implementation of the localization service is thread-safe.

0 comments on commit ce0122c

Please sign in to comment.