Exam Hall Booking System(.NET Core Web API +React + SQL Server )
Introduction
The Exam Hall Booking System streamlines the process of reserving exam halls within educational institutions. It caters to lecturers, academic staff, administration, and students, offering a user-friendly interface for booking halls like the Drawing Office Exam Hall and Computer Department Exam Hall( there are two Exam Halls). This system enhances scheduling for various exam types(End Exam , Mid Exam , Quiz , Assignment ) while ensuring administrative oversight.
How this Exam Hall Booking System Work
Click below user guide to look how this system work step by step,
Technology Stack
Languages : HTML, CSS, JavaScript, C#
Tools : VS Code, Visual Studio, MS SQL Server Management Studio, Jira, Postman, GitHub, Figma
Frameworks : React.js, .NET Core Web API, Bootstrap
Database :MySQL (Azure Server)
Source Code
This is the Exam Hall Booking System Source Code . Follow below instruction to clone this in to your machine . Don’t forget to give star ⭐ for this repository .
step 1 :
Clone this repository
git clone https://github.com/CydexCode/ExamHallBookingSystem
I will show how to clone this repository in to your machine using Visual Studio
1 . Open your Visual Studio IDE and got to Clone Section
2 . Copy and past the repository link and select project location
then click the clone button to clone the Source Code
step 2 :
Setup SQL Database,
select the ExamHallBooking.DataAccess project layer -> Data -> Migartions
delete that two files inside the Migration Folder
Then move to Presentation Project layer -> appsetting.js to Setup your SQL Connection link
set your SQL Server Studio name and give suitable database name . use below code for it ,
"AllowedHosts": "*",
"ConnectionStrings": {
"DevConnection": "Server=Your sever name ;Database=ExamHallBooking;Trusted_Connection=True;MultipleActiveResultSets=True;"
}
then open the Nuget Package Manager Console ( Tools-> Nuget Package Manager -> Package Manager Console )
Change Default project in to DataAccess Layer like this
then run below command
Add-Migration -Name Initial -OutputDir "Data/Migrations"
after that update the database using below command
Update-Database
the go to the database and look your data tables
thies are the two tables for two Exam hallls
lets create Login system table.
For that open new query ( right click the database and select new query)
input the below code and execute
GO
/** Object: Table [dbo].[Login] Script Date: 05/19/2023 01:22:24 **/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Login](
[Id] [int] IDENTITY(1,1) NOT NULL,
[LOGIN_NAME] [nvarchar](50) NULL,
[PASSWORD] [nvarchar](50) NOT NULL,
[MOBILE] [nvarchar](50) NULL,
[NAME] [nvarchar](50) NULL,
CONSTRAINT [PK_Login] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/** Object: StoredProcedure [dbo].[sp_Update] Script Date: 05/19/2023 01:22:26 **/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
create PROCEDURE [dbo].[sp_Update]
@ID INT,
@NAME NVARCHAR(50),
@LOGIN_NAME NVARCHAR(50),
@PASSWORD NVARCHAR(50),
@MOBILE NVARCHAR(50)
AS
BEGIN
UPDATE [dbo].[Login]
SET [NAME] =@NAME
,[LOGIN_NAME]=@LOGIN_NAME
,[PASSWORD]=@PASSWORD
,[MOBILE]=@MOBILE
WHERE ID=@ID
END
GO
/** Object: StoredProcedure [dbo].[sp_Insert] Script Date: 05/19/2023 01:22:26 **/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_Insert]
@ID INT,
@NAME NVARCHAR(50),
@LOGIN_NAME NVARCHAR(50),
@PASSWORD NVARCHAR(50),
@MOBILE NVARCHAR(50)
AS
BEGIN
INSERT INTO [dbo].[Login]
([NAME]
,[LOGIN_NAME]
,[PASSWORD]
,[MOBILE])
VALUES
(@NAME
,@LOGIN_NAME
,@PASSWORD
,@MOBILE)
END
GO
/** Object: StoredProcedure [dbo].[sp_GetUserDetails] Script Date: 05/19/2023 01:22:26 **/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetUserDetails]
AS
BEGIN
SELECT * FROM dbo.Login
END
GO
/** Object: StoredProcedure [dbo].[sp_deleteUser] Script Date: 05/19/2023 01:22:26 **/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_deleteUser]
@Id INT
AS
BEGIN
DELETE FROM DBO.Login WHERE Id=@Id
END
GO
/** Object: StoredProcedure [dbo].[GetLoginDetails] Script Date: 05/19/2023 01:22:26 **/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[GetLoginDetails]
@loginName VARCHAR(50),
@password VARCHAR(50)
AS
BEGIN
SELECT * FROM dbo.Login WHERE LOGIN_NAME=@loginName and PASSWORD=@password
END
GO
step 3:
Setup Mail sending Feature,
in the appsetting.js file you can below code part
you have to add your Mail and App Password here
Now all the things setup in your project. before Run the Project read the User Guide.
Read below Read.me file to get more idea about this project