A social network application built using ASP.NET Core, React (with Typescript) and Mobx following Clean Architecture and CQRS + Mediator pattern.
This is the final project for Complete guide to building an app with .Net Core and React at Udemy.
- Login/Logout with authorisation/authentication.
- CRUD with business rules
- Drag-and-drop and resizing of photos.
- Form with client-side and server-side security and validation.
- Follow another user
- View, join and cancel attendance to activities.
- Chat using SignalR.
- ASP.NET Core, React and Mobx
- RESTFul Services ASP.NET Web API, Entity Frameworke(Code-First).
- Semantic-UI for styling.
- TypeScript with React for typesafety.
- Database: SQLite, MySQL and SQL Server
- Git for source control
Download and install the following
-
Install and download .Net Core SDK 3.1.
-
Install and download Node.s (v12.16.1. or higher) for developing JavaScript Application using ReactJs.
-
[OPTIONAL] This is not required but you may want to install Node Version Manager to switch between different version of Node in your projects.
-
Git for version control.
-
Install Visual Studio Code. This is free, open-source and cross-platform but you may install any integrated development environment of your choice.
-
In VS Code, go to
Extensions
then search and install add the following extensions to add functionality and increase your productivity:- Auto Close Tag
- Auto Rename Tag
- Bracket Pair Colorizer 2
- C# for Visual Studio Code (powered by OmniSharp)
- C# Extensions
- ES7 React/Redux/GraphQL/React-Native snippets
- Material Icon Theme
- NuGet Package Manager - to add third-party packages
- Prettier - Code formatter
- SQLite - development uses SQLite database initially because it is quick and easy to start with.
-
Download the React Deveoper Tools for your browser.
-
Clone repository ????
-
Run
npm install
to download dependencies.
- Download Postman for testing APIs.
- Using the terminal, go to your API project directory and run it.
$ dotnet watch run
- Reactivities for the complete course source code.
- Walking Skeleton
- Clean Architecture
- TypeScript
- Create React App
- Snippet Generator for Visual Studio Code.
- ASP.NET Core Secrets Management
- Loading reated data: Eager, Explicit and Lazy Loading
- Complete coure source code for Reactivities
- Command Query Responsibility Segregation (CQRS) + Mediator
Not used in this application but can be used for future improvement.
-
Entity Framework Core as Object-Relational Mapping (ORM)
-
To install MediatR using NuGet, add package
MediatR.Extensions.Microsoft.DependencyInjection
toApplication
project. -
React-toastify as notification library
-
React Final Form to manage forms
-
React Widgets for DateTimePicker
Prerequisite: date-fns for date localization
npm install react-widgets-date-fns date-fns@2.0.0-alpha.7 --save
-
revalidate for form validation.
-
- Using NuGet, add package
Microsot.AspNetCore.Identity.EntityFrameworkCore
to Domain project and select the version corresponding to your dotnet runtime. - Setup IdentityDBContext and create migration
Reactivities$ dotnet ef migrations add "AddedIdentity" -p .\Persistence\ -s .\API\
- Run migration
Reactivities/API$ dotnet watch run
- Using Nuget, add package
Microsoft.AspNetCore.Identity.UI
to API project and select the version corresponding to your dotnet runtime. - Using Nuget, add package
System.IdentityModel.Tokens.Jwt
to Infrastructure project and select latest version. - Using Nuget, add package
Microsoft.AspnetCore.Authentication.JwtBearer
to API project and select the version corresponding to your dotnet runtime.
- Using NuGet, add package