Skip to content

Commit dcbfbeb

Browse files
committed
fix links
1 parent e6aecca commit dcbfbeb

File tree

7 files changed

+99
-8
lines changed

7 files changed

+99
-8
lines changed

MyApp/_pages/auth/jwt-authprovider.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -838,7 +838,7 @@ E.g. Single Page App can call this when their Web App is first loaded, which is
838838
[Signing In via an OAuth Provider](/auth/authentication-and-authorization#oauth-providers) it will convert their OAuth Authenticated Session into a
839839
stateless client JWT Token Cookie.
840840

841-
This approach is also used by the old Angular TechStacks [angular.techstacks.io](http://angular.techstacks.io) after signing in via Twitter and Github OAuth to [use JWT with a single jQuery Ajax call](https://github.com/ServiceStackApps/TechStacks/blob/78ecd5e390e585c14f616bb27b24e0072b756040/src/TechStacks/TechStacks/js/user/services.js#L30):
841+
This approach is also used by the old [Angular TechStacks](https://github.com/ServiceStackApps/TechStacks) after signing in via Twitter and Github OAuth to [use JWT with a single jQuery Ajax call](https://github.com/ServiceStackApps/TechStacks/blob/78ecd5e390e585c14f616bb27b24e0072b756040/src/TechStacks/TechStacks/js/user/services.js#L30):
842842

843843
```javascript
844844
$.post("/session-to-token");

MyApp/_pages/releases/v5_00_0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ All Single Page App Templates are available for both .NET Core 2.0 and ASP.NET F
605605
<td><a href="https://github.com/NetFrameworkTemplates/angular-spa-netfx">angular-spa-netfx</a></td>
606606
<td align="center">
607607
<h3>Angular 5 CLI Bootstrap Template</h3>
608-
<img src="https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa.png" width="500" />
608+
<img src="https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa-bootstrap.png" width="500" />
609609
</td>
610610
</tr>
611611
<tr>

MyApp/_pages/releases/v5_01_0.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,7 @@ Given the productivity value Vuetify adds, we've created Vuetify templates for b
884884

885885
![](/img/pages/release-notes/techstacks-new.png)
886886

887-
Given the impressive development velocity enabled by the Nuxt and Vuetify power combo, we decided to rewrite [https://techstacks.io](https://techstacks.io) using it. The [original TechStacks website](http://angular.techstacks.io) was built in **2014** with what was considered the state-of-the-art Technology Stack for .NET SPA at the time: i.e. Angular 1.x / Bootstrap Website hosted on .NET's recommended system software of ASP.NET / IIS / Windows Server.
887+
Given the impressive development velocity enabled by the Nuxt and Vuetify power combo, we decided to rewrite [https://techstacks.io](https://techstacks.io) using it. The [original TechStacks website](https://github.com/ServiceStackApps/TechStacks) was built in **2014** with what was considered the state-of-the-art Technology Stack for .NET SPA at the time: i.e. Angular 1.x / Bootstrap Website hosted on .NET's recommended system software of ASP.NET / IIS / Windows Server.
888888

889889
A lot has changed since then, in both the JavaScript and .NET Server ecosystems. [Angular 1.x](https://angularjs.org) was surpassed by a complete rewrite of Angular 2+ in TypeScript in its [latest version](https://angular.io). During that time both have since been eclipsed in popularity by [React](https://github.com/facebook/react) and [Vue](https://github.com/vuejs/vue) with nearly 3x the popularity by stars on GitHub. We like React for true Single Page Apps like IDEs and what we used to [develop Gistlyn](https://github.com/ServiceStack/Gistlyn). But for multi-page Apps we prefer Vue which has a higher fidelity and better encapsulation of HTML pages with its [Single File Components](https://vuejs.org/v2/guide/single-file-components.html).
890890

@@ -903,7 +903,7 @@ So given the current ecosystem we ported TechStacks to what we consider is the s
903903

904904
What's noteworthy about the development of the new TechStacks Website was that despite having a completely rewritten UI on the front-end, running on the new .NET Core Runtime and Linux Operating System on the back-end, the one thing that could be reused as-is was its Services implementation - which speaks to both the timelessness of [ServiceStack's API Design](/api-design) for cleanly capturing the intent of its declarative Service Contracts and the near-perfect source-code compatibility with .NET Core - preserving and future-proofing existing ServiceStack investments by making it trivial to port to .NET Core as and when needed.
905905

906-
Also despite some existing tables being modified to support the expanded feature-set, the [Old TechStacks Website](http://angular.techstacks.io) continues to run, using the old OrmLite POCO Data Models to connect to the same database as the New TechStacks Website. This resilience also extends to the existing [Swift TechStacks iOS App](https://github.com/ServiceStackApps/TechStacksApp) which continues to run unmodified despite now accessing enhanced modified Services that's now being proxied through Netlify's CDN. The primary disruptive change to Services was that they now use .NET Core's default **camelCase** property names which also doesn't impact existing iOS Mobile Apps thanks to the [Swift JsonServiceClient](/swift-add-servicestack-reference) supporting case-insensitive properties.
906+
Also despite some existing tables being modified to support the expanded feature-set, the [Old TechStacks Website](https://github.com/ServiceStackApps/TechStacks) continues to run, using the old OrmLite POCO Data Models to connect to the same database as the New TechStacks Website. This resilience also extends to the existing [Swift TechStacks iOS App](https://github.com/ServiceStackApps/TechStacksApp) which continues to run unmodified despite now accessing enhanced modified Services that's now being proxied through Netlify's CDN. The primary disruptive change to Services was that they now use .NET Core's default **camelCase** property names which also doesn't impact existing iOS Mobile Apps thanks to the [Swift JsonServiceClient](/swift-add-servicestack-reference) supporting case-insensitive properties.
907907

908908
For comparison purposes we're continuing to host the old Website:
909909

@@ -914,7 +914,7 @@ For comparison purposes we're continuing to host the old Website:
914914

915915
#### Old TechStacks
916916

917-
- URL: [angular.techstacks.io](http://angular.techstacks.io)
917+
- URL: [Angular TechStacks](https://github.com/ServiceStackApps/TechStacks)
918918
- Source Code: [github.com/ServiceStackApps/TechStacks](https://github.com/ServiceStackApps/TechStacks)
919919

920920
Both code-bases are Open Source and provide a good reference of our preferences in developing a mildly complex medium-sized ServiceStack App which now exceeds **100 Services** to support its expanded feature-set.

MyApp/_pages/releases/v5_02.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -696,7 +696,7 @@ Create new React 16 Project for .NET Framework:
696696

697697
Bootstrapped with [Angular CLI](https://cli.angular.io).
698698

699-
[![](https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa.png)](https://github.com/NetCoreTemplates/angular-spa)
699+
[![](https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa-bootstrap.png)](https://github.com/NetCoreTemplates/angular-spa)
700700

701701
Create new Angular 7 Project for .NET Core 2.1:
702702

MyApp/_pages/releases/v6_07.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1394,7 +1394,7 @@ The [angular-spa](https://github.com/NetCoreTemplates/angular-spa) project templ
13941394
13951395
<a href="https://github.com/NetCoreTemplates/angular-spa" class="not-prose max-w-4xl">
13961396
<div class="block flex justify-center shadow hover:shadow-lg rounded">
1397-
<img class="" src="https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa.png">
1397+
<img class="" src="https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa-bootstrap.png">
13981398
</div>
13991399
</a>
14001400

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
title: Angular Bootstrap Project Template
3+
---
4+
5+
<div class="not-prose my-8 ml-20 flex justify-center"><svg style="max-width:200px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
6+
viewBox="0 0 250 250" xml:space="preserve">
7+
<g>
8+
<polygon fill="#DD0031" points="125,30 125,30 125,30 31.9,63.2 46.1,186.3 125,230 125,230 125,230 203.9,186.3 218.1,63.2 "/>
9+
<polygon fill="#C3002F" points="125,30 125,52.2 125,52.1 125,153.4 125,153.4 125,230 125,230 203.9,186.3 218.1,63.2 125,30 "/>
10+
<path fill="#FFFFFF" d="M125,52.1L66.8,182.6h0h21.7h0l11.7-29.2h49.4l11.7,29.2h0h21.7h0L125,52.1L125,52.1L125,52.1L125,52.1
11+
L125,52.1z M142,135.4H108l17-40.9L142,135.4z"/>
12+
</g>
13+
</svg></div>
14+
15+
[Angular](https://angular.io) is the premier JavaScript framework developed by Google for building applications that live on the web, mobile, or the desktop.
16+
17+
## Angular .NET Core and .NET Framework Single Page App Templates
18+
19+
The templates below have been bootstrapped with the latest angular-cli tooling that's
20+
[seamlessly integrated](/templates/single-page-apps#end-to-end-typed-apis) into
21+
ServiceStack's [Recommended Physical Project Structure](/physical-project-structure).
22+
23+
See the documentation in each project for more info on features of each template:
24+
25+
### [Angular 15 SPA Template](https://github.com/LegacyTemplates/angular-spa)
26+
27+
.NET 8.0 Angular 15 project generated with [Angular CLI](https://github.com/angular/angular-spa).
28+
29+
![](https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa-bootstrap.png)
30+
31+
> Browse [source code](https://github.com/LegacyTemplates/angular-spa) and install with [x new](/web-new):
32+
33+
Create new Angular Project for .NET 8.0:
34+
35+
:::sh
36+
x new LegacyTemplates/angular-spa ProjectName
37+
:::
38+
39+
Create new Angular Project for .NET Framework:
40+
41+
:::sh
42+
x new angular-spa-netfx ProjectName
43+
:::
44+
45+
46+
#### Angular HTTP Client
47+
48+
The Angular template uses Angular's built-in Rx-enabled HTTP Client with ServiceStack's ambient TypeScript declarations, as it's often preferable to utilize Angular's built-in dependencies when available.
49+
50+
ServiceStack's ambient TypeScript interfaces are leveraged to enable a Typed API, whilst the `createUrl(route,args)` helper lets you reuse your APIs Route definitions (emitted in comments above each Request DTO) to provide a pleasant UX for making API calls using Angular's HTTP Client:
51+
52+
```ts
53+
import { createUrl } from '@servicestack/client';
54+
...
55+
56+
this.http.get<HelloResponse>(createUrl('/hello/{Name}', { name })).subscribe(r => {
57+
this.result = r.result;
58+
});
59+
```
60+
61+
# Angular Examples
62+
63+
## [TechStacks](https://github.com/ServiceStackApps/TechStacks)
64+
65+
TechStacks is an AngularJS App that lets you explore TechStacks of popular StartUps using your favorite technology
66+
67+
[![TechStacks](https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/screenshots/techstacks.png)](https://github.com/ServiceStackApps/TechStacks)
68+
69+
#### Features
70+
71+
TechStacks is based on a [Bootstrap template](http://getbootstrap.com) with client-side features:
72+
73+
- HTML5 Routing to enable pretty urls, also supports full page reloads and back button support
74+
- Same Services supporting both human-readable Slugs or int primary keys
75+
- Responsive design supporting iPad Landscape and Portrait modes
76+
- Preloading and background data fetching to reduce flicker and maximize responsiveness
77+
- [Disqus](https://disqus.com/) commenting system
78+
- [Chosen](http://harvesthq.github.io/chosen/) for UX-friendly multi combo boxes
79+
80+
and some of TechStacks back-end features include:
81+
82+
- [SEO-optimized, Server HTML generated, read-only version of the website](https://techstacks.io/?html=server)
83+
- Dynamically generated [sitemaps.xml](https://techstacks.io/sitemap.xml)
84+
- Page-level Locking
85+
- Record and Restore Page Content Versioning
86+
- [Twitter and GitHub OAuth Providers](/auth/authentication-and-authorization)
87+
- Substitutable [OrmLite](https://github.com/ServiceStack/ServiceStack.OrmLite) RDBMS [PostgreSQL and Sqlite](https://github.com/ServiceStackApps/TechStacks/blob/875e78910e43d2230f0925b71d5990497216511e/src/TechStacks/TechStacks/AppHost.cs#L49-L56) back-ends
88+
- [Auto Query](/autoquery/) for automatic services of RDBMS tables
89+
- [RDBMS Sessions and In Memory Caching](/caching)
90+
- [Fluent Validation](/validation)
91+

MyApp/_pages/templates/single-page-apps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ $ x new react-spa-netfx ProjectName
291291

292292
Bootstrapped with [Angular CLI](https://cli.angular.io).
293293

294-
[![](https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa.png)](https://github.com/NetCoreTemplates/angular-spa)
294+
[![](https://raw.githubusercontent.com/ServiceStack/Assets/master/csharp-templates/angular-spa-bootstrap.png)](https://github.com/NetCoreTemplates/angular-spa)
295295

296296
Create new Angular Project for .NET 6.0:
297297

0 commit comments

Comments
 (0)