GithubHelp home page GithubHelp logo

johnmcraig / blazor-book-manager Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 1.0 1.22 MB

Manage books and authors with Blazor

C# 66.24% HTML 28.28% CSS 3.16% JavaScript 2.33%
blazor wasm webassembly asp-net-core hexagonal-architecture bootstrap4 books authors crud-application blazor-webassembly

blazor-book-manager's Introduction

Blazor Book Manager

visitors stars last commit pull requests

A way to manage books as a web application using Blazor WASM

Scope

A full-stack web application to manage books and their authors with clean architecture using C#/.Net Core, Blazor, Dapper & SQL, HTML, and CSS.

Architecture

This application uses hexagonal/onion style architecture for separation of core functionality and modularity to use or try out different technologies as it grows in scope.

The key projects are contained within the Core, Infrastructure, and Api projects with the client within the UI directory.

Technologies

The application was built using:

  • ASP.Net Core 3.1
  • Blazor WebAssembly (Client)
  • SQL + Dapper for database transactions
  • Bootstrap 4

Additional Built-in Tools

The API project contains the following:

  • Swagger - Api/resource documentation testing from the Swashbuckler package for the client.

  • NLog - for logging request from the Api and any additional errors that are saved as text documents for review.

Database Setup

For database setup, it is recommended to use Sqlite for development and is currently an installed package with the application. Navigate to the Infrastructure project and find the ApiDbContext.cs class in the ..\Data directory and find the method that configures which database to use:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlite(_config.GetConnectionString("sqlite"));
}

Change the above optionsBuilder method to which ever database package you prefer, such as MySql with: .UseMySql(). Configure the connection to that database in the appsettings.Development.json file in the Api project, then pass it in the GetConnectionString extension.

PostgreSQL is also already setup for database configuration, change the optionsBuilder method to use .UseNpgsql() and setup the connection string in the application.Development.json file.

Future Features

The Book Store does not yet contain login/logout, registration, and authentication, but will be needed once the project grows in scope to actually sell books online.

Paging is currently in the pipeline and should be implemented within the year (maybe...).

blazor-book-manager's People

Contributors

dependabot[bot] avatar johnmcraig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.