/azure-functions-ux

Azure Functions UX

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Azure Functions UX

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

npm i -g @angular/cli

Project Structure and Important Places

root
│   gulpfile.js - gulp file that gives commands to run most things
│
└───client
│   │   this is the angular client code
│   │
│   └───src
│       │   this is where the non scaffolding angular app code live
│
└───server
│   │   basic server written in nodeJs
│   └───Resources
│   │   │ Resources.Resx is the file we keep all strings, these will get localized and be available in the app by key value
│   │
│   └───src
│       │ server.ts - server entry point
│
└───client-react
│   │   react app
│
└───tests
│   │   E2E tests for the react app written with cypress

Branches

master: (https://functions-staging.azure.com)

This is connected to staging. Staging is swapped to production after being validated

dev: (https://functions-next.azure.com) Make Pull Requests against this branch

This is the next environment. This is never swapped, instead changes from dev get merged into master.

For control and styling samples go to https://functions.azure.com?appsvc.devguide=true

Running in Dev

A step by step series of examples that tell you how to get a development env running from root

npm install
npm start

Go to https://localhost:44400 and https://localhost:44300 and bypass the self-signed cert block before going to portal

To Test changes go to https://portal.azure.com/?websitesextension_functionslocal=true&websitesextension_useReactFrameBlade=true

Running the tests

Angular Unit Tests

cd client
ng test

React Unit Tests

cd client-react
npm run test

React E2E Tests

single run

cd client-react
npm run build
cd ../tests
npm run test:run

development mode

cd client-react
npm start

plus in another terminal

cd tests
npx cypress open

License

This project is licensed under the APACHE 2.0 License - see the LICENSE.md file for details