All Projects → marinakolova → BeautyBooking

marinakolova / BeautyBooking

Licence: MIT license
Web application for booking beauty appointments (ASP.NET Core 3.1). My project for the ASP.NET Core course at SoftUni.

Programming Languages

C#
18002 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
SCSS
7915 projects
Less
1899 projects
CSS
56736 projects

Projects that are alternatives of or similar to BeautyBooking

Little Aspnetcore Book
The Little ASP.NET Core Book, a friendly introduction to web programming and ASP.NET Core 2.0
Stars: ✭ 637 (+1720%)
Mutual labels:  web-application, asp-net-core
smartadmin.core.urf
Domain Driven Design (DDD) lightweight development architecture(support .net 5.0)
Stars: ✭ 100 (+185.71%)
Mutual labels:  web-application, asp-net-core
aspnetcore-authentication-apikey
Easy to use and very light weight Microsoft style API Key Authentication Implementation for ASP.NET Core. It can be setup so that it can accept API Key in Header, Authorization Header, QueryParams or HeaderOrQueryParams.
Stars: ✭ 215 (+514.29%)
Mutual labels:  asp-net-core
live-share-editor
ソースコードをリアルタイムで共有できるオンラインエディタ
Stars: ✭ 15 (-57.14%)
Mutual labels:  asp-net-core
squidex-identity
Identity Server for Squidex Headless CMS
Stars: ✭ 28 (-20%)
Mutual labels:  asp-net-core
MPACore.PhoneBook
采用MVC+jQuery 的方式进行开发。
Stars: ✭ 51 (+45.71%)
Mutual labels:  asp-net-core
statiq-starter-kontent-lumen
Lumen is a minimal, lightweight, and mobile-first starter for creating blogs using Statiq and Kontent by Kentico.
Stars: ✭ 22 (-37.14%)
Mutual labels:  asp-net-core
LogESP
Open Source SIEM (Security Information and Event Management system).
Stars: ✭ 162 (+362.86%)
Mutual labels:  web-application
kontent-boilerplate-net
Kontent.ai Boilerplate for development of ASP.NET Core MVC applications.
Stars: ✭ 29 (-17.14%)
Mutual labels:  asp-net-core
bside
Github Content Management System
Stars: ✭ 22 (-37.14%)
Mutual labels:  web-application
trento
An open cloud-native web console improving on the work day of SAP Applications administrators.
Stars: ✭ 35 (+0%)
Mutual labels:  web-application
AmazonDjangoShop
Simple Django driven online shop engine using Amazon Product Advertising API as external data source.
Stars: ✭ 24 (-31.43%)
Mutual labels:  web-application
DiVE
An interactive 3D web viewer of up to million points on one screen that represent data. Provides interaction for viewing high-dimensional data that has been previously embedded in 3D or 2D. Based on graphosaurus.js and three.js. For a Linux release of a complete embedding+visualization pipeline please visit https://github.com/sonjageorgievska/Em…
Stars: ✭ 26 (-25.71%)
Mutual labels:  web-application
boost
🚀 A collection of type-safe cross-platform packages for building robust server-side and client-side systems.
Stars: ✭ 97 (+177.14%)
Mutual labels:  web-application
Unicorn
ASP.NET Core System Architecture.
Stars: ✭ 14 (-60%)
Mutual labels:  asp-net-core
Inyector
Library to Implement Automatic dependency injection by Configuration over Scaned Assemblies
Stars: ✭ 13 (-62.86%)
Mutual labels:  asp-net-core
textyle
Web tilemap editor for 2D games built using React JS, WebGL and Rust (WASM).
Stars: ✭ 87 (+148.57%)
Mutual labels:  web-application
django todo app
python django를 활용한 웹 개발 튜토리얼! todo_app 만들기
Stars: ✭ 82 (+134.29%)
Mutual labels:  web-application
M6T.Core.TupleModelBinder
Asp.Net Core Tuple Model Binder
Stars: ✭ 20 (-42.86%)
Mutual labels:  asp-net-core
Uragano
Uragano, A simple, high performance RPC library. Support load balancing, circuit breaker, fallback, caching, intercepting.
Stars: ✭ 28 (-20%)
Mutual labels:  asp-net-core

BeautyBooking

A beauty bookings web application for hair, nails, spa etc. appointments. 📆 💅

🎯 My project for the ASP.NET Core course at SoftUni. (April 2020)

ℹ️ How It Works

  • Guest visitors:
    • browse categories of beauty services;
    • view salons with their services;
    • read blog posts.
  • Logged Users:
    • book appointments using interactive datepicker;
    • can cancel appointments;
    • can rate salons for which they had confirmed past appointments.
  • Salon Manager (user role):
    • confirms/declines users' appointments for particular salon;
    • controls what services are available for booking in the salon.
  • Admin:
    • creates/deletes blog posts, categories, salons and services;
    • can review the appointments history.

⚒️ Built With

  • ASP.NET Core 3.1
  • Entity Framework (EF) Core 3.1
  • Microsoft SQL Server Express
  • ASP.NET Identity System
  • MVC Areas with Multiple Layouts
  • Razor Pages, Sections, Partial Views
  • View Components
  • Repository Pattern
  • Auto Мapping
  • Dependency Injection
  • Status Code Pages Middleware
  • Exception Handling Middleware
  • Sorting, Filtering, and Paging with EF Core
  • Data Validation, both Client-side and Server-side
  • Data Validation in the Models and Input View Models
  • Custom Validation Attributes
  • Responsive Design
  • CloudinaryDotNet
  • Bootstrap
  • jQuery

⚙️ Application Configurations

1. The Connection string

is in appsettings.json. If you don't use SQLEXPRESS, you should replace Server=.\\SQLEXPRESS; with Server=.;

2. Database Migrations

would be applied when you run the application, since the ASPNETCORE-ENVIRONMENT is set to Development. If you change it, you should apply the migrations yourself.

3. Seeding sample data

would happen once you run the application, including Test Accounts:

4. Cloudinary Setup - optionally

Running without it:

You won't get an error for missing Cloudinary Credentials - it is handled by using predefined (already uploaded) image, when Cloudinary configuration is missing. So when you are creating content in admin panel, it will be added but not with the image you have chosen.

If you want to actually upload images, you should:

  1. Add Cloudinary Credentials in appsettings.json in the format:
  "Cloudinary": {
    "CloudName": "",
    "ApiKey": "",
    "ApiSecret": "",
    "EnvironmentVariable": ""
  }
  1. Update the Cloudinary Setup part of Startup.cs's ConfigureServices method as follows:
            // Cloudinary Setup
            Cloudinary cloudinary = new Cloudinary(new Account(
                this.configuration["Cloudinary:CloudName"],
                this.configuration["Cloudinary:ApiKey"],
                this.configuration["Cloudinary:ApiSecret"]));
            services.AddSingleton(cloudinary);

🖼️ Screenshot - Home Page

BeautyBooking-HomePage

🖼️ Screenshot - Make An Appointment Page

BeautyBooking-MakeAnAppointment

License

This project is licensed under the MIT License.

Acknowledgments

Using ASP.NET-MVC-Template developed by:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].