Code name: Gravity Boots (GB)
- Dotnet Core 6.0
- Node 8.16
- NPM 6
- React 16.13
- SQL Server 2017+
- TypeScript 3.8
-
Install Microsoft SQL Server 2017
-
Create the following database
- Development:
GravityBootsApi
(See appsettings.json for details.)
- Development:
-
Configure user.
- Get credentials from the
appsettings.json
file listed above. - Right click on Security, then select New > Login
- Add login name
- Select SQL Server authentication
- Add password
- Deselect Enforce password policy and Enforce password expiration
- Select Server Roles from Select a Page
- Local development: Select all
- Select User Mapping from Select a Page
- For both the development and test databases:
- Local development: Select all role memberships
- For both the development and test databases:
- Get credentials from the
Install Dotnet Core 3.1 SDK & Runtime
Install NodeJS 8.16 / NPM 6
There is a central and-cli
used to manage builds, tests, deployments, etc... for the various aspects of the project.
Install the and-cli
tooling found at AndcultureCode.Cli
Below are a few basics to get you started, but there are many more commands and options for managing this and other projects found in the and-cli
.
and-cli dotnet --restore
- restore the dotnet solutionand-cli dotnet
- running backend projectand-cli dotnet-test --by-project
- running backend automated testsand-cli dotnet -- --cli test db migrate
- migrate the test database (Clean and Restore the project before running. Done with:and-cli dotnet -cRb
)and-cli migration --add MigrationName
- generates an EF Core database migration based on code-first changesand-cli migration --run MigrationName
- runs (or reverts to) a specified EF Core database migrationand-cli webpack
- running frontendand-cli webpack-test
- running frontend testsand-cli webpack --restore
- restore npm dependencies for frontendnpm run all-tests
- runs all of the test suites (backend, functional, frontend) and runs a storybook build (run from the root of the repo)cd frontend && npm run cypress:open
- run functional test suite interactivelycd frontend && npm run cypress:open:working
- run functional test suite interactively against workingcd frontend && npm run cypress:run
- run functional test suite headlesslycd frontend && npm run cypress:run:working
- run functional test suite headlesslycd frontend && npm run test:debug
- starts web socket connection for easy editor independent interactive debugging https://create-react-app.dev/docs/debugging-tests/
Restore the dotnet packages (first time only)
and-cli dotnet --restore
Restore the NPM node modules (first time only)
and-cli webpack --restore
Start the dotnet server
and-cli dotnet
Start the webpack server
and-cli webpack
Open your browser and navigate to:
https://localhost:5001
Engineering Documentation covers the codebase (i.e. patterns, style, and best practices), software development, building, and deploying the project.
- Architecture
- Background Jobs: Hangfire
- Caching
- Code Conventions
- Entities
- Frontend Architecture
- Git Workflow
- Hangfire
- Shared Background Job Engine
- Storybook / KOP
- Swagger Documentation
External Resources cover requirements, high level architecture, design, and project management for the project.
- Here is our documentation style guide and template to get started.
- Documentation should be written with Markdown and should have the
.md
extension. Bitbucket has a Markdown Syntax Guide for reference. - For information on writing docs, go to Write the Docs.
Thanks goes to these wonderful people (emoji key):
Winton DeShong 💻 |
Brandon Scott 💻 |
Dylan Justice 💻 |
Stefanie Leitch 💻 👀 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!