Hello everyone!
Thank you for purchasing solution. If you have any questions that are beyond the scope of this help file, please feel free to email via my user page contact form here. Thanks so much!
.NET CORE 5 SDK and VISUAL STUDIO 2019, SQL SERVER
Although User Management can be run without any development experience, it would be much easier if you already have some experience. The following instructions allow you to run a local copy on your machine.
If you have not yet installed nodejs, please Download and globally install nodejs : https://nodejs.org
Note: download
Recommended For Most Users version
A detailed instruction on how to install NodeJS is available here.
Note: Make sure you have Node version >= 4.0 and NPM >= 3 . Also globally installed typescript.
Installing Angular-CLI globally is as simple as running this simple command:
npm install -g @angular/cli
After the tools is installed, go inside of the Angular directory and run below command to install dependencies:
Run npm install
to install node dependencies defined in package.json.
To run a local copy in development mode, replace REST API URI (apiUrl) variable in environment file inside src --> environments -->environment.ts
execute ng serve
and go to http://localhost:4200 in your browser.
To run the local copy in production mode and build the sources, execute
ng build --prod
. This will builds a production version of the application. All
html,css and js code is minified and put to dist folder. The contents of
this folder you can to put to your production server when publishing the application.
To Allow Social media login, please change Environment variables(googleAppId,facebookAppId) into your src --> environments -->environment.ts
The project structure is as follows:
UserManagement.sln/ * projects solution │ │ │ ├──UserManagement.API * REST API Controller, Dependancy configuration, Auto mapper profile │ │ │ ├──UserManagement.MediatR * Command handler, Query handler, Fluent API validation │ │ │ ├──UserManagement.Repository * Each entity repository │ │ │ ├──UserManagement.Domain * Entity framework dbContext | | │ ├──UserManagement.Common * Generic repository and Unit of work patterns │ │ │ ├──UserManagement.Data * Entity classes and DTO classes │ │ │ ├──UserManagement.Helper * Utility classes
The directory structure is as follows:
UserUserManagement/ ├──src/ * source files that will be compiled to javascript │ │ │ ├──test.ts * test │ │ │ ├──styles.scss * globally stylesheet │ │ │ ├──index.html * application layout │ │ │ ├──main.ts * entry file for our browser environment | | │ ├──main.server.ts * entry file for our server environment │ │ │ ├──polyfills.ts * polyfills file │ │ │ ├──favicon.ico * favicon │ │ │ ├──app/ * application code - our working directory | | | │ | ├──app-settings/ * application code - Add save application related to key and value | | | │ | ├──core/ * components,services and directives - only imported once in the AppModule | | | │ | ├──dashboard/ * basic charts and statistics | | | │ | ├──email-send/ * send mail to user from existing save template | | | │ | ├──email-smtp-setting/ * save multiple smtp setting and list | | | │ | ├──email-template/ * save and list of email templates to send mail | | | │ | ├──login/ * authentication management | | | │ | ├──login-audit/ * login audit list | | | │ | ├──n-log/ * log error for rest api and angular | | | │ | ├──role/ * role add, edit and list | | | │ | ├──screen/ * list of pages | | | │ | ├──screen-operation/ * application wise set possible actions for page. | | | │ | ├──operation/ * action add,edit and list. | | | │ | ├──session/ * current logged users | | | │ | ├──shared/ * shared module | | | │ | ├──store/ * ngrx data setting | | | │ | ├──user/ * usermanagement │ │ │ │ │ ├──app.component.ts * main application component │ │ │ │ │ ├──app.component.html * main application html file │ │ │ │ │ ├──app.component.scss * main application styles │ │ │ │ │ ├──app.module.ts * main application module │ │ │ │ │ ├──app.routing.ts * application routes │ │ │ │ │ ├──http-interceptor.module.ts * set rest service uri for each rest call and manage loading for rest calls │ │ │ | │ ├──shared/ * shared modules folder │ │ │ ├──environments/ * environments │ └──assets/ * static assets are served here │ ├──e2e/ * will be used for end-to-end tests to ensure functionality for users before deploying ├──angular.json * used for configuration of project specific settings ├──karma.conf * config file for karma testing framework ├──package.json * contains all dependencies used for production and development ├──README.md * read me file ├──tsconfig.app.json * config app for typescript ├──tsconfig.json * config for typescript ├──tsconfig.spec.json * config spec for typescript └──tslint.json * Angular-CLI includes an automatic Typescript-Linter, which can be configured with this file
GO TO ==> UserManagement.Data ==> Entities ==> User.cs
GO TO ==> UserManagement.Data ==> Dto ==> Create User Folder ==> UserDto.cs
GO TO ==> UserManagement.Domain ==> Context ==> Add DbSet
OPEN Package Manager Console ==> Select Default project as UserManagement.Domain
RUN Command ==> Add-Migration User_Created
RUN Command ==> Update-Database
GO TO ==> UserManagement.Repository Project ==> Create User Folder
Create IUserRepository interface and UserRepository Class
Register IUserReposistory and UserRepository For Dependancy injection into UserManagement.API Project ==> Helpers Folder ==> DependencyInjectionExtension.cs Class
GO TO Project ==> UserManagement.MediatR ==> Command Folder ==> User Folder
Create AddUserCommand Class ==> Implement Generic interface IRequest
GO TO Project ==> UserManagement.MediatR ==> Validators Folder ==> User Folder
Create AddUserCommandValidator Class ==> Implement Generic interface AbstractValidator
GO TO Project ==> UserManagement.MediatR ==> Handlers Folder ==> User Folder
Create AddUserCommandHandler Class ==> Implement Generic interface IRequestHandler
GO TO Project ==> UserManagement.API ==> Helpers Folder ==> Mapping Folder
Create UserProfile Class ==> Implement Class Profile (AutoMapper)
Config UserProfile into MapperConfig for register into StartUp.cs Middlerware.
GO TO Project ==> UserManagement.API ==> Controllers Folder ==> User Folder
Create UserController Class ==> Implement Class Profile (AutoMapper)
Config UserProfile into MapperConfig for register into StartUp.cs Middlerware.
{ path: '', component: UserListComponent, data: { claimType: 'user_list' }, canActivate: [AuthGuard] },
<button *hasClaim="'user_edit'" (click)="editUser(user)"> <i class="las la-pen" > </i> Edit </button>
claimType: {screen/page name}_{operation/ action name}
hasClaim: structural directive to show and hide action base on claim type
Angular Project Structure.
Dot net Core Project Structure.
Swagger API Documentation
Login
Dashboard.
Role List.
Add/Edit Role
User List
Add/Edit User.
List of Actions.
List of Pages or Dialogs.
Page Action possible Mapping.
Mobile View
Mobile View
Email SMTP List
Email Template List
Add/Update Email Template
Send Mail
Login Audit
Log Detail
My Profile
All questions you can send via the contact form HERE.
I will answer all questions within 24-48h in the order they were received.
Please do not panic if I do not answer too long – I love my buyers and I’ll answer for all questions ;)
More information about the terms of support you can see here: https://themeforest.net/page/item_support_policy
Thanks for reading the Instruction, hope it’s been really helpful and resolved most of your concerns.