- Angular used with Material components, Okta access control, GraphQL + Apollo to view a backend data set.
- Note: to open web links in a new window use: ctrl+click on link
** Frontend
- Angular frontend uses Okta for auth login/logout with OAuth 2.0 Authorization Code with PKCE flow
Data
page displays table of database data with working filter input
** Backend
- Apollo-server resolvers used to process GraphQL operations on database data
- uuid creates a unique id string for each part
-
Angular v16 javascript framework
-
Okta has Authentication and User Management APIs that reduce development time with instant-on, scalable user infrastructure.
-
GraphQL v16 API query language
-
Angular Material v16 menu toolbar & table to display data
-
Apollo Client v3 used with Apollo-Angular v3 GraphQL Client for Angular Framework
-
Node.js v18 Javascript runtime using the [Chrome V8 engine](https://v8.dev/
-
Apollo Server v3 for unified data communications
-
uuid v9 to create RFC4122 UUIDs
** Frontend
npm i
to install dependencies- You will need to install the Okta CLI. I installed it on Windows 10 Home using the Chocolatey package manager
- You will need an Okta developer account then use
okta login
to integrate it with the Okta CLI. - In Okta apps, create a client app then add options: Type of Application: SPA, Redirect URI:
http://localhost:4200/login/callback
, Logout Redirect URI:http://localhost:4200
(You must add these redirect URIs or login will not work) - Add issuer and Client-ID to
app.module.ts
ng serve
runs frontend onhttp://localhost:4200
with auto-restart after changes
** Backend
npm i
to install dependenciesnpm run dev
to start node server
- tba
- Frontend
graphql.queries.ts
code to define what fields should be returned with aparts
query
import { gql } from 'apollo-angular';
const PARTS_LIST = gql`
query {
parts {
name
quantity
weight
criticalPart
createdDate
}
}
`;
export { PARTS_LIST };
- Material table to display backend data
- GraphQL uses strong data types and ensures no over or under-fetching od data
- Okta Authguard to restrict user access to certain pages
- Status: Working, unfinished.
- To-Do frontend: new nav bar & Okta access data.
- To-Do backend: add data API-postgres? Use filter functions or remove.
- This project is licensed under the terms of the MIT license.
- Repo created by ABateman, email:
gomezbateman@yahoo.com