Project Details:
Project is hosted in Azure and features a Three-Layer architecture:
-
Presentation Layer: consists of ASP.NET Core 2.2 Web Project with fully responsive beautiful design.
-
Business Layer: Services and business features processing class library.
-
Data Layer: Holding the configuration for the data-base and additional mappings of table-relationships.
-
Custom mappers and DtoObjects transferring data from one layer to another.
App features Custom JSON-Web-Tokenization system for authentication and authorization.
Thorough unit testing for the services and business features covering more than 90% the whole app.
Server side Pagination WITH java-script based dom elements manipulation for amazing customer experience without any page refreshes for various tables and forms.
The Website allows the client to login and manage all of his resources.
Most of the requests are Ajax based to enable beautiful handling of errors and model-state for various forms and situations.
Project includes caching for some parts of its Collections to lower the database trips.
Project was developed using end-to-end Feature branches (left un-deleted in the git-system for the purpose of showcasing the process)!
Admins can:
-
Enjoy the Admin Dashboard after login, providing basic recent activity with in-memory caching to reduce data-base trips for EVERY admin that logs.
-
Get listing of all Users by last added and paginate on the server while changing the table with javascript without page-refreshing.
-
Add Users and Clients with ajax form and enjoy model-uninteruptive response about already taken names or invalid form submissions.
-
List newly added users immediatelly with javascript inside dynamically updated table.
-
Server-Side pagination on Users, Clients, Banners and Attatched Accounts tables with beautiful javascript dom manipulation allowing updates of records without page refreshes.
-
Add clients for application to use as base for accounts being attatched and managed between users.
-
Search for users to attatch (and attatch them) to clients via Javascript autocomplete using ajax remote source (server request) for the data, updating listing dynamically with javascript (again).
-
Search for accounts to attatch (and attatch them) to clients via Javascript autocomplete using ajax remote source (server request) for the data.
-
Remove Users from Clients Or Accounts from Users.
-
Add, delete and remove banners, giving start and ending date for each one of them to be active on the user login page.
Users Can:
-
Enjoy advertising banners from the app management with promotational links on click.
-
Find beautiful chart-pie of all their accounts' balances inside the account dash.
-
Have a listing of all their accounts with additional info for each of them.
-
Inside Account Dash - click and view all of the Accounts Transactions.
-
Inside Account Dash - click and initiate a new transaction with the account as pre-selected for Sender.
-
Edit saved transactions or just directly send them.
-
Inside Account Dash - click and edit their Personal Nickname for that account regardless of whom it's shared with.
-
List all of their transactions inside responsive table by selecting some of the accounts they have at their disposal.
-
Browse the listed transactions in beautiful responsive table with Server-Side pagination
-
Read the nicknames of only the accounts they own but not the ones they do not yet have transactions towards/from.
-
Browse all movies;
-
Search Movies by Name and have paginated result;
-
Open and view detailed info about movies and actors;
-
Read user Reviews for the movie;
-
Perform Advanced Movie search via jquery.DataTable interface;
-
Perform Advanced search for Actors and preview Categories as well;
-
Enjoy the various Carousels for Top Movies and more;
Logged users with role "USER" Can on top of all previous:
-
Leave Reviews for movies;
-
Edit their own Reviews;
-
Delete their own Reviews;
Logged users with role "MANAGER" Can on top of all previous:
-
Add Movies using ajax search for actors and categories in the process;
-
Edit Movies using ajax search for actors and categories in the process;
-
Delete Movies;
-
Add Actors using ajax search for movies;
-
Edit Actors using ajax search for movies;
-
Delete Actors;
-
Edit Reviews;
-
Delete Reviews;
Logged user with role "ADMIN" Can on top of all previous:
-
Delete user accounts inside the special Admin Area
that includes table for all users;