An application that helps you manage your bookshelf easier.
Main features:
- Log in using Google authentication and personalize your books list.
- Add your favorite books and theirs information (author, type, status,...).
- You can update these information later on.
- Filter your books by year.
- Search your book easily with book's name or book's author.
This project uses following main technologies: .NET, HTML, CSS, JS, Google OAuth, Toastr, Bootstrap, SQL Express.
BulkyBookWeb2
ββ `BulkyBookWeb2`
β βββ `Controllers` : All APIs implementation and navigation could be found here.
β βββ `Data` : All code related to infrastructure like context configuration.
β βββ `Migrations` : All database migrations could be found here.
β βββ `Models` : All business models and customized enums could be found here.
β βββ `Views` : All views corresponding to each controller and common shared views throughout all pages.
β βββ `Program.cs` : Entry point file that configures the app.
ββ `.gitattributes` : Defines which language to use when syntax highlighting files and diffs.
ββ `.gitignore` : All files untracked by git.
ββ `README.md` : Project documentation. Please read it before running the project.
- Every users will need a Google account in order to log in and interact with this app. This helps personalize each user's bookshelf.
- To enable Google sign in screen for users, you will need a Google OAuth 2.0 Client ID and Client secret configured using Google Console - API & Services.
- Follow this step by step instructions to setup a Client ID and secret, then store them in this project using dotnet user-secrets.
- As you can see in Program.cs file, these 2 values will be accessed like this:
if (builder.Environment.IsDevelopment())
{
options.ClientId = builder.Configuration["Authentication:Google:ClientId"];
options.ClientSecret = builder.Configuration["Authentication:Google:ClientSecret"];
}
- Now, whenever a user logs in, a Google consent screen will display.
- Installation of dotnet core 6.0
- Open the terminal in the
BulkyBookWeb2
directory. - Restore nuget package
dotnet restore
- Build the project
dotnet build
- Make sure you have installed dotnet core 6.0
- Open terminal in the
BulkyBookWeb2
directory - Run this command to start the application
dotnet run --project BulkyBookWeb2
- Configure: Hot reload on save
- Database used: localdb (see in View > SQL Server Object Explorer)