This project is developed in ASP.NET MVC Core 1.0.0 with Windows dependencies. This project is focused on the Event Management Process, and here, we have to automate the process of Event Management.
Here is the link to the Project Source Code.
There are 3 end users in this project.
- Admin
- Customer
- SuperAdmin
Process
The process starts with creating an Admin and a SuperAdmin who can create an Admin. The admin has the right to add various types of thing, such as venue for marriage, equipment required for marriage, food Items for marriage, lighting, flowers, cost, and photo. After adding, all of this will be visible to the customer when they are booking the event. And, after booking, this application is sent to admin for approval. Admin can approve or reject the application; the status is available to the customer. Meanwhile, admin can see the entire application submitted by the customer and the total cost.
The customer can see the status after submitting the application and can print the receipt.
About Platform Used
I developed this application using Microsoft Visual Studio Community 2017 with Microsoft SQL Server 2008.
Server-side technology used is ASP.NET Core MVC 1.0 and the language used for developing is C#, along with Entity Framework Core and Dependency Injection for database accessing and finally, for using services, we have used Web API.
- Microsoft Visual Studio Community 2017
- Link to download.
- Microsoft SQL Server 2008
- Link to download.
Database Details
Finally, after understanding the process, let's check out which are the tables we used in this application. Please read the text file ReadMe_First.txt first. In this file, the entire process of database creation and login details of the file are written.
I have created a database with name EventDB and inside this, all the tables are created.
Registration
This table contains Registration of Customer and Admin, SuperAdmin.
Roles
This table contains Roles of Customer and Admin, SuperAdmin.
Country
This table contains all Country Names.
States
This table contains all State Names.
City
This table contains all City Names.
Venue
This table contains all Venue Details entered by the Admin.
Equipment
This table contains all Equipment Details entered by Admin.
Food
This table contains all Food Details entered by Admin.
Light
This table contains all Lighting Details entered by Admin
Flower
This table contains all Flower Details entered by Admin.
EventTypes
This table contains all Event Types.
BookingVenue
This table contains all BookingVenue Details entered by Customer.
BookingEquipment
This table contains all BookingEquipment Details entered by Customer.
BookingFood
This table contains all Booking Food Details entered by Customer
BookingLight
This table contains all Booking Lighting Details entered by Customer
BookingFlower
This table contains all Booking Flower Details entered by Customer
Booking Details
This table contains all Booking Details booked by Customer
After completing database details now let have a look on Project structure in Visual Studio.
The Project Name is EventApplicationCore.
You can see the basic folder structure provided by Asp.net MVC Core.
Project structure
Added Asp.net MVC Core Web Project.
Next adding EventApplicationCore.Concrete Class Library to project.
EventApplicationCore.Concrete
This Class Library contains all Classes which are using Entity Framework Core ORM for accessing database and it also has DbContext and is the main class for interacting with the database.
Next add EventApplicationCore.Interface Class Library to project.
EventApplicationCore.Interface
This Class Library contains all Interfaces in which we have declared methods, this interface is going to implement a concrete class (EventApplicationCore.Concrete).
EventApplicationCore.Model
This Class Library contains all Models which are used in Application.
Controllers
Controller Folder contains all Controllers created in this application.
Views
View Folder contains all Views created in this application.
DbContext (we are using Entity Framework core in this project)
Appsettings.json file
In appsettings.json file we store all application settings in a key-value pair. Here we have stored Connection string of database.
Setting Connection string in Startup.cs class
Setting Dependence injection in Startup.cs class
Filters and Encryption library
The above shows how the directory and folder structure looks, now let's check out Application screens.
Starting with Login Screen.
The below screens are of Admin who is going to add new Venues, Food items, Lighting, Equipment which will be seen by Users while booking.
Login (Admin)
We are going to log in to the application with admin credentials.
Admin Dashboard
The first screen which appears to Admin after logging in.
Add Venue
In this part, we are going to add new Venue.
All Venues
In this part we are going to display all Venues which we have added in Grid view, along with that we have Edit and Delete button to edit venue and delete venue.
Edit Venue
In this part, we are going update details of Venue.
Add Equipment
In this part, we are going to add new Equipment.
All Equipment
In this part, we going to display all Equipment which we have added in Grid view, along with that we have Edit and Delete button to edit Equipment and delete Equipment.
Edit Equipment
In this part, we are going update details of Equipment.
Add Food
In this part we are going to add new Food item.
All Foods
In this part, we going to display all Food items which we have added in Grid view, along with that we have Edit and Delete button to edit Food items and delete Food items.
Edit Food
In this part, we are going update details of Food Items.
Add Lighting
In this part we are going to add new Lighting.
All Lightings
In this part we going to display all Lightings which we have added in Grid view, along with that we have Edit and Delete button to edit Lightings and delete Lightings.
Edit Lighting
In this part, we are going update details of Lightings.
Add Flowers
In this part we are going to add new Flowers for adding Flowers we require Flowers name, Flowers Cost and Photo of Flowers.
All Flowers
In this part we are going to display all Flowers which we have added in Grid view, along with that we have Edit and Delete button to edit Flowers and delete Flowers.
Edit Flowers
In this part, we are going update details of Flower.
Booking Details
In this part, we can see all booking request of users and admin has right to approve or reject booking depending upon his arrangements.
Booking Approvals
In this part, we can see individual booking detail and approve or reject booking.
All Users Profile
In this part, we can see all registered users' profiles.
Finally, we have Completed with Admin end which was too large.
Login (User)
Now we are logged in as User.
Booking Venue
In this part, we are going to book a venue for a birthday party.
For doing that we just need to choose Event Type as Birthday Party next we are going to venue type as Beach venue along with that number of Guests.
Book Equipment
In this part, we are going to book an Equipment for venue, such as DJ or Speaker and mike; you can choose equipment according to your choice.
Book Food
In this part, we are going to book food items for Event. It has various combinations; we can choose food items according to our choice.
Book Light
In this part, we are going to book lighting for the venue, such as String Lights or Acqualina outdoor lights. You can choose lighting according to your choice.
Book Flower
In this part, we are going to book flowers for the venue, such as orchids or red flowers; you can choose flowers according to your choice.
All Booking Status
In this part, we can see our booking status. If the booking is approved, we can download the receipt.
Order Details
In this part, if we click on "Show Order" button of the booking status grid, we can see complete details of an order.
Finally, we have gone through the entire project in details, functionality wise. I hope you liked my project for learning ASP.NET Core MVC 1.0.