Giter VIP home page Giter VIP logo

bookstores's Introduction

BookStores

BookStores is a Blazor Server app using ASP.NET Core as back-end service and MSSQL for database.

It has code samples for Authentication, Authorization, DataGrid, Database operations....and much more.

Please follow the intrsuctions to set it up on your machine.

Demo_App

Installation

Prerequisites

  • IDE - Visual Studio or VS Code
  • Framework - .NET Core 3.0 or Greater
  • Database - SQL Express/Server

Clone

  • Clone this repo to your local machine using https://github.com/CuriousDrive/BookStores.git

Setup

BookStores Database

  • Create database BookStoresDB in SQL Express/Server
  • To create the data run SQL query from BookStores/Database/GenerateData.sql

BookStores Web API

  • Open project BookStores/BookStoresWebAPI/BookStoresWebAPI.sln
  • Run Project through Visual Studio/Terminal
  • Go to https://localhost:5001/swagger or https://localhost:44315/swagger

Blazor Server App

  • Open Project BookStores/BlazorServerApp/BlazorServerApp.sln
  • Run Project through Visual Studio/Terminal
  • Go to https://localhost:6001/ or https://localhost:44391/
  • Click on login. You should get logged in as [email protected]

Videos

The best part about BookStores that it's been documented while it was getting built. Please check out below videos if you wish to build your own project from the scratch.

Video Series Topics
Start Watching ASP.NET Core Web API Tutorials
Start Watching Blazor Server Tutorials

Have questions?

If you have any questions on how this project is setup then you can reach out to us on below handles.

https://twitter.com/curious_drive
https://www.facebook.com/curiousdrive/
https://www.youtube.com/c/curiousdrive

Let us know how it goes.

bookstores's People

Contributors

curiousdrive avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bookstores's Issues

Casting Error

    try
    {
        var respond = await userService.OnLoginAsync(model);
        if (respond.Status)
        {
            var info = respond.Data as UserIdentity;
            ((CustomAuthenticationStateProvider)authenticationStateProvider).SignInUserAsync(info);

            await _localStore.SetItemAsync(SessionKey.UserIdentity, info);
            toastService.ShowSuccess($"Hello {info.DisplayName}, Welcome back.", "Login successful");
            NavigationManager.NavigateTo("/");
        }
        else
        {
            responsMsg = respond.Data.ToString();
            toastService.ShowError(respond.Data.ToString(), "Login error");
        }
    }
    catch (Exception exp)
    {
        ILogWriter.WriteToLog("Admin", "Login Authentication", "OnLoginAsync", exp.ToString());
        toastService.ShowError(exp.ToString(), "Login error");
        responsMsg = exp.ToString();
    }

--> Unable to cast object of type 'Microsoft.AspNetCore.Components.Server.ServerAuthenticationStateProvider' to type 'Admin.Data.CustomAuthenticationStateProvider'.

Connect Refused on Mac

Hi, I am using this with Mac and Visual studio community. on login or register user I get the following message in Browser console

Error: System.Net.Http.HttpRequestException: Connection refused
---> System.Net.Sockets.SocketException (61): Connection refused

Multiple filters don't work

Only the last filter/search input box filters the list of items.
Example: If I filter the Id column with "10", only 1 row will show with the Id of "10" but if I then filter the 2nd or 3rd column, the Id column filter is no longer doing anything, multiple rows reappear even tough there is still "10" displayed in the input box.
image
image

Novice Asks: Need procedure to host unique version.

Love the concept and the approach. Can you provide the necessary steps to host my own version so I set breakpoints, try changes, etc. After importing from GitHub into VS it builds but will not run. I'm assuming the database is missing.

Thank You!

fails with:

SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, object providerInfo, string newPassword, SecureString newSecurePassword, bool redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, bool applyTransientFaultHandling, string accessToken, DbConnectionPool pool, SqlAuthenticationProviderManager sqlAuthProviderManager)
Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
Microsoft.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, uint waitForMultipleObjectsTimeout, bool allowCreate, bool onlyOneCheckConnection, DbConnectionOptions userOptions, out DbConnectionInternal connection)
Microsoft.Data.ProviderBase.DbConnectionPool.WaitForPendingOpen()
Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(bool errorsExpected, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(bool errorsExpected, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, bool errorsExpected)
Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable+AsyncEnumerator.InitializeReaderAsync(DbContext _, bool result, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync<TState, TResult>(TState state, Func<DbContext, TState, CancellationToken, Task> operation, Func<DbContext, TState, CancellationToken, Task<ExecutionResult>> verifySucceeded, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable+AsyncEnumerator.MoveNextAsync()
System.Runtime.CompilerServices.ValueTaskAwaiter.GetResult()
Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync(IAsyncEnumerable asyncEnumerable, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync(IAsyncEnumerable asyncEnumerable, CancellationToken cancellationToken)
BookStoresWebAPI.Controllers.PublishersController.GetPublisher(int id) in PublishersController.cs

    // GET: api/Publishers/5
    [HttpGet("GetPublisher/{id}")]
    [MapToApiVersion("1.0")]        
    public async Task<ActionResult<Publisher>> GetPublisher(int id)
    {
        publisher = await _context.Publishers .Where(pub => pub.PubId == id).FirstOrDefaultAsync();
        if  (publisher == null) 
        {
            return NotFound();
        }

lambda_method(Closure , object )

Running all the apps in one solution?

What is the best way to go about running both applications at the same time? I'd love to use this as a starter app and I've appreciated your videos on youtube about this along the way.

Web api DB script is not updated.

Hi, I was trying to setup your code and found one db script issue. I am unable to restore the .bak file due to version mismatch and also your db script file is not updated. The role table is not there and other also.

Could you please please update the script file?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.