rsm-hcd / andculturecode.dotnetreact.boilerplate Goto Github PK
View Code? Open in Web Editor NEWCommon configuration of applications built with a Dotnet Core backend and React frontend
Common configuration of applications built with a Dotnet Core backend and React frontend
NOTE: Must be an andculture employee to work on this issue due to requiring access to private resources.
Port over the new documentation on setting up frontend performance profiling for React. Do not include the results, or any references to that internal project, but try to reword any instructions/hints with more general terminology.
There are some helpful IResult related testing matcher extensions that can be moved to the AndcultureCode.CSharp.Testing package.
Mistakenly set authentication defaults with oauth as true. This doesn't make the boilerplate, out-of-the-box, as easy to use as it requires folks to configure them. Instead, make the defaults for google and microsoft auth to have IsEnabled
be false
Boilerplate should provide authentication and authorization strategies out of the box.
For starters Cookie Authentication and JWT token strategies would allow new applications to have users, roles, acls, login/logout and all the common functionality they would otherwise need to setup up front.
Remove Slack build notifications and replace with something else...maybe?
What the subject says ☝️ - do it one better though and see if there are other common ObjectResult derivatives not provided by aspnet that we might commonly used.
While many of the basic actors around permissions are moved to core, there are more actors to move.
Yup. What the subject says ☝️
Feel free to survey other projects to add additional validation methods. Please take a honest try to writing unit tests for these.
This task involves abstracting the AuthenticationUtils to leverage our commonly used claims in such as way that projects could extend.
Extract Molecules/DragAndDropListBox to AndcultureCode.JavaScript.React.Components library
Move common filters into AndcultureCode.CSharp.Web
Should be a fairly easy swap of dependencies given a boilerplate. Need to migrate from what is 2.2 to 3.1 LTS
Fluent validator update how the ShouldHaveValidationErrorFor
extension method is used and the tests using it need to be updated in order to pass.
All the tests within this folder: https://github.com/AndcultureCode/AndcultureCode.DotnetReact.Boilerplate/tree/main/dotnet/api/Tests/Presentation/Web.Tests/Unit/Validators
Move UnicodeCharacterConstants
to AndcultureCode.JavaScript.Core package. Additionally, add a robust set of unicode character constants.
While the major actors in localization were ported, there are some pieces around setup of those actors in startup.
Presentation.Web.Extensions.Startup
AddAndcultureCodeLocalization
ConfigureRequestLocalizationOptions
ConfigureRewriteOptions
ConfigureRouteOptions
Presentation.Web.Filters.Swagger.LocalizationDocumentFilter - AndcultureCode.CSharp.Web
Presentation.Web.Middleware.Localization.CultureRouteConstraint
Presentation.Web.Middleware.Localization.JsonRequestCultureProvider
Presentation.Web.Middleware.Localization.JsonStringLocalizer
Presentation.Web.Middleware.Localization.JsonStringLocalizerFactory
Move all of the items below into AndcultureCode.CSharp.Web
In addition to the controller, migrate related cultures
There are a few key extension methods we heavily use across projects that could be extracted into the AndcultureCode.CSharp.Web
package.
AddRequestThrottling
that allows a project to 'enable' rate limiting functionality. Should not remain as generic AddMiddleware
Controller Integration Tests are skipped in the Github workflow build. Tests should be able to run on an agent.
AndcultureCode
and replace with RSM.HCD
With the addition of the groupBy related repository findall overloads we now need to add the actual implementation to the repository.
Related PRs:
There are a variety of actors in this boilerplate that are prime candidates for abstraction to AndcultureCode. While we could very likely have an AndcultureCode.CSharp.Data
general package, lets start by getting the one we use most... AndcultureCode.CSharp.Data.SqlServer
.
Extract to AndcultureCode.JavaScript.Core
Using version ranges (i.e. ^1.0.0
which means "anything 1.0.0 or newer) is dangerous. We can add an .npmrc
that will tell npm to install exact versions by default.
https://docs.npmjs.com/misc/config
Extract Molecules/ListBox to AndcultureCode.JavaScript.React.Components library
What is the expected behavior?
To have the default branch named main
instead of master
What is motivation or use case for adding/changing the behavior?
Removing terminology in technology evocative of racial inequality.
How should this be implemented in your opinion?
Following Scott Hanselman's advice
git branch -m master main
git push -u origin main
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
git push origin --delete master
Are you willing to work on this yourself?
no
Extract the test related CLI commands in the project to the AndcultureCode.CSharp.Cli
package
There are some valuable testing matcher extensions in the presentation.web.tests project that should be pretty easy to move to the AndcultureCode.CSharp.Testing package. In doing so, please take care not to pull in large aspnet dependencies into the testing package and only the smallest package from the BCLs as to not force other testing projects to consume them.
There are various web controller related types that could be abstracted into bases for easy consumption in new projects. Move to AndcultureCode.CSharp.Web
Update the dotnet
projects to run on .NET v6 (current LTS version)
Extract Molecules/EmailMultiInput to AndcultureCode.JavaScript.React.Components library
Extract ObjectValidator
and related actors into AndcultureCode.JavaScript.Core
package
Should be a fairly simple upgrade path to move to major version 17 from 16.3.
Move controller to AndcultureCode.CSharp.Web
Consider additionally refactoring UserAgent
and GetCustomErrorMessage
to better leverage extension methods.
Extract Molecules/CollapsePanel to AndcultureCode.JavaScript.React.Components library
Extract Core.Providers.Logging.LoggingProvider into base abstract provider in AndcultureCode.CSharp.Core -- should remove all references to serilog
Create SerilogLoggingProvider subclass in new AndcultureCode.CSharp.Providers.Logging.Serilog
Core.Extensions.Startup.IServiceCollectionExtensions#AddSerilogServices in AndcultureCode.CSharp.Providers.Logging.Serilog
This task is to inventory the various aspects of the backend's logging and determine which portions may need more and others needs less to better hone in the logging output.
Extract Atoms/Video to AndcultureCode.JavaScript.React.Components library
Inventory RouteUtils and move any new methods into AndcultureCode.JavaScript.React
Additionally, backfill tests and complete skipped tests.
While the middleware is using the new json package, out of habit we built several pieces with Newtonsoft.
https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-how-to
https://codeburst.io/working-with-json-in-net-core-3-2fd1236126c1
Update dev dependencies to use latest version of cypress
In most projects we inevitably need a means to store settings in the database, as opposed to application settings/env vars. Referencing gravity boots and/ or other projects. Add settings actors (ie. conductors, entity, mappings, etc...).
Re-enable dotnet core endpoint routing
Ensure MVC routing works as expected, along with culture constraints
Existing documentation should be cleaned up and migrated into this repository. This will aid larger projects in wrangling the inevitably large list of migrations that crop up over time, and keep them manageable.
There are a few remaining untested EnumerableExtensions methods. This issue involves moving these methods to AndcultureCode.CSharp.Extensions and writing unit tests. That package is at 100% coverage so while we don't require it be exactly 100%, we would like to remain above 90% being we've attained that level now.
AndcultureCode.CSharp.Extensions
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.