Uploaded by viknesh R

Academic records management system

advertisement
ACADEMIC RECORD MANAGEMENT SYSTEM
ABSTRACT
Academic Records Management System can be designed to
automate and
streamline the process of managing and storing student marksheets. This system
can be used by educational
institutions such as schools, colleges and
universities to manage student records efficiently. Overall, Academic records
management system can help educational institutions to manage student records
more efficiently, reduce paperwork and improve data accuracy.
INTRODUCTION
A Student Mark Sheet Document Management System (SMSDMS) is a web
application that allows students and educators to manage and view academic
records in a centralized database. The system aims to streamline the process of
generating and storing student records, simplifying the task of managing and
tracking academic progress. This report outlines the design and implementation
of an SMSDMS using the React framework.
Design:
The SMSDMS application is designed to be intuitive and easy to use. The
interface is divided into three main components: the navigation bar, the content
area, and the footer. The navigation bar provides access to the various features of
the system, while the content area displays the relevant information. The footer
displays the copyright and other relevant information.
Implementation:
The SMSDMS application is built using the React framework, which provides a
high-performance user interface. The application is divided into several
components, including the header, the navigation bar, the content area, and the
footer.
The header component displays the name and logo of the institution, while the
navigation bar system. The content area displays the relevant information, such
as student records, course information, and academic documents. The footer
displays copyright and other relevant information.
LITERATURE SURVEY
1.Web Based Student Information Management System
AUTHOR : S.R.Bharamagoudar
Student Information Management System (SIMS) provides a simple interface for
maintenance of student information. It can be used by educational institutes or
colleges to maintain the records of students easily. The creation and management
of accurate, up-to-date information regarding a students’ academic career is
critically important in the university as well as colleges. Student information
system deals with all kind of student details, academic related reports, college
details, course details, curriculum, batch details, placement details and other
resource related details too. It tracks all the details of a student from the day one
to the end of the course which can be used for all reporting purpose, tracking of
attendance, progress in the course, completed semesters, years, coming semester
year curriculum details, exam details, project or any other assignment details,
final exam result and all these will be available through a secure, online interface
embedded in the college’s website. It will also have faculty details, batch
execution details, students’ details in all aspects, the various academic
notifications to the staff and students updated by the college administration. It
also facilitate us explore all the activities happening in the college, Different
reports and Queries can be generated based on vast options related to students,
batch, course, faculty, exams, semesters, certification and even for the entire
college.
2. Academic and student use of a learning management system
AUTHOR : Debbi Weaver
This project is used to manage online learning and teaching, with varying levels
of support provided to staff and students, but often there is little subsequent
investigation into the quality of the online sites or the use made of the support
structures provided. This paper presents findings from an institutional survey
investigating the use of WebCT by academic staff and students in their learning
and teaching at a large Australian university. It was expected that student
feedback would relate to technical and infrastructure issues, but instead, the
survey elicited responses primarily on how WebCT was used in teaching and
learning, indicating that quality control is a major issue for the University. Student
opinions appear to reflect more the use of the technology made by teaching staff
– students who have experienced a well-designed unit rich with resources, timely
feedback and good interaction with staff reported a positive experience with the
technology. Staff responses are more focused on the technical and administrative
aspects of using WebCT rather than teaching issues. The findings in this paper
have implications for quality teaching and learning with technology, and the way
in which tertiary institutions support academic staff.
3.Student data mining solution–knowledge management system related to higher
education institutions
AUTHOR : Srecˇko Natek
In this study the Higher education institutions (HEIs) are often curious whether
students will be successful or not during their study. Before or during their
courses the academic institutions try to estimate the percentage of successful
students. But is it possible to predict the success rate of students enrolled in their
courses? Are there any specific student characteristics, which can be associated
with the student success rate? Is there any relevant student data available to HEIs
on the basis of which they could predict the student success rate? The conclusions
of this study are very promising and will encourage HEIs to incorporate data
mining tools as an important part of their higher education knowledge
management systems.
EXISTING SYSTEM:
PowerSchool: PowerSchool is a comprehensive student management system used
by K-12 schools and districts. It offers features like attendance tracking, grade
book management, parent and student portals, and reporting tools.
Blackboard: Blackboard is another popular student management system used by
schools and universities. It offers features like course management, online
assessments, grade book management, and collaborative tools.
Infinite Campus: Infinite Campus is a student information system used by K-12
schools. It offers features like grade book management, attendance tracking,
discipline tracking, and scheduling.
Edsby: Edsby is a cloud-based student management system used by K-12 schools.
It offers features like grade book management, attendance tracking, parent and
student portals, and collaboration tools.
Canvas: Canvas is a learning management system used by universities and K-12
schools. It offers features like course management, online assessments, grade
book management, and collaboration tools.
These are just a few examples of the many student management systems available
in the market. When selecting a system, it's important to consider your specific
needs and budget.
PROPOSED SOLUTION
The SMSDMS application is designed to support the following features. The
system allows the administrator to register new students, including their personal
details, such as name, date of birth, and contact information. The system provides
the administrator with the ability to create, manage, and edit courses offered by
the institution. The system allows educators to enter and track student marks for
each course. The system can handle various grading systems such as letter grades,
percentages, and grade point averages. The system enables educators to store and
manage academic documents such as assignments, test scores, and other
academic records. The system provides the ability to generate reports, such as
class lists, student grades, and attendance records.
SYSTEM REQUIREMENTS
SOFTWARE REQUIREMENTS:
• Processor AMD Ryzen 3 5300U with Radeon Graphics, 2600 Mhz, 4
Core(s), 8 Logical Processor(s)
• React app
• Visual Studio
• SQL management studio
• IIS manager
HARDWARE REQUIREMENTS:
•
•
•
•
Microsoft Windows 11 Home Single Language
Installed Physical Memory (RAM) 8.00 GB
5GB Free disk space.
x64-based PC
SYSTEM DESIGN
ARCHITECTURE DIAGRAM
UML DIAGRAMS
Use case diagram
Class diagram
Sequence diagram
Activity diagram
Flow chart
MODULE DESCRIPITION
• Student registration module:
The student register module allows the administrator to register new
students,including their personal details ,such as name ,signature and contact
information .
• Course management module:
The course module provides the administrator with the ability to create,
manage, and edit courses offered by the institution.
• Mark entry module:
The entry module allows educators to enter and track student marks for
each course. The system can handle various grading systems such as letter grades,
percentages, and grade point averages.
• Document management module:
The module enables educators to store and manage academic documents
such as assignments, test scores, and other academic records.
• Reporting module:
The modules access the ability to generate reports, such as class lists,
student grades, and attendance records.
PACKAGES & LIBRARIES:
React is a JavaScript library for building user interfaces. It was developed by
Facebook and is now maintained by a community of developers.
React provides a declarative approach to building UIs, where you describe how
your UI should look at any given point in time, and react takes care of updating
the DOM to reflect those changes.
React is component-based, meaning that you build your UI out of small, reusable
components. Each component has its own state and can receive props (short for
properties) from its parent component. When a component's state or props
change, React will automatically update the component and any child
components that need to be updated.
React also supports server-side rendering, which allows you to render your React
components on the server and send HTML to the client, rather than sending
JavaScript and having the client render the UI. This can help improve
performance and SEO.
In addition to the core React library, there are also many third-party libraries and
tools available for React development, such as React Router for handling clientside routing, Redux for managing application state, and Material UI for pre-built
UI components.
React has become a popular choice for building web applications and is used by
companies such as Facebook, Instagram, Netflix, and Airbnb.
SQL server
SQL Server Management Studio (SSMS) is a free integrated development
environment (IDE) for managing SQL Server databases. It is developed by
Microsoft and provides a graphical user interface for managing and
administering SQL Server instances.
With SSMS, you can perform a wide range of tasks such as creating, modifying,
and deleting databases, tables, stored procedures, and views. You can also run H
objects. The Query Editor allows you to write and execute SQL queries, with
features such as syntax highlighting, IntelliSense, and debugging tools.
SSMS also includes several wizards to help with common tasks such as creating
a new database, importing and exporting data, and configuring replication.
Overall, SQL Server Management Studio is a powerful tool for managing SQL
Server databases and is widely used by developers, database administrators, and
other IT professionals
DOTNET
.NET (pronounced "dot net") is a software development platform created by
Microsoft for building various types of applications such as web applications,
desktop applications, mobile applications, games, and more. The .NET platform
includes several key components, including the .NET Framework, .NET Core,
and ASP.NET.
The .NET Framework is a software framework that provides a large library of
pre-built classes and functions for building Windows desktop applications, web
applications, and services. It includes a runtime environment called the
Common Language Runtime (CLR), which is responsible for managing
memory, security, and other low-level system functions.
.NET Core is a cross-platform, open-source, and lightweight version of the
.NET Framework that can be used to build web applications, console
applications, and services that can run on Windows, Linux, and macOS. It
includes a runtime environment called the CoreCLR and a set of libraries called
the Core FX.
ASP.NET is a web application framework that is built on top of the .NET
platform. It includes several components for building web applications, such as
the Razor view engine, Web API, and Signal for real-time web applications.
Overall, .NET is a powerful platform for building a wide range of applications,
and it is widely used by developers and organizations around the world. It
provides a rich set of tools and libraries for building high-quality applications
quickly and efficiently.
CODE IMPLEMENTATION
React code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!-manifest.json provides metadata used when your web app is installed on a
user's
mobile
device
or
desktop.
https://developers.google.com/web/fundamentals/web-app-manifest/
See
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!-Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>Madha Engineering College</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
SQL Queries
USE [STDMGR]
GO
/****** Object: Table [dbo].[DepartmentLookUp]
07:58:57 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DepartmentLookUp](
[Id] [int] IDENTITY(1,1) NOT NULL,
[SystemCode] [varchar](100) NOT NULL,
[Code] [varchar](200) NOT NULL,
[ShortCode] [varchar](200) NOT NULL,
[Description] [varchar](500) NOT NULL,
[CreatedBy] [varchar](500) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[ModifiedBy] [varchar](500) NOT NULL,
[ModifiedDateTime] [datetime] NOT NULL,
[LastModifiedDateTime] [timestamp] NOT NULL
) ON [PRIMARY]
GO
USE [STDMGR]
GO
/****** Object: Table [dbo].[DocumentLookUp]
07:58:57 PM ******/
SET ANSI_NULLS ON
Script Date: 2022-10-30
Script Date: 2022-10-30
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DocumentLookUp](
[Id] [int] IDENTITY(1,1) NOT NULL,
[SystemCode] [varchar](200) NOT NULL,
[Code] [varchar](200) NOT NULL,
[ShortCode] [varchar](200) NOT NULL,
[Description] [varchar](500) NOT NULL,
[CreatedBy] [varchar](200) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[ModifiedBy] [varchar](200) NOT NULL,
[ModifiedDateTime] [datetime] NOT NULL,
[LastModifiedDateTime] [timestamp] NOT NULL
) ON [PRIMARY]
GO
USE [STDMGR]
GO
/****** Object: Table [dbo].[ModeOfEntryLookUp]
07:58:57 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ModeOfEntryLookUp](
[Id] [int] IDENTITY(1,1) NOT NULL,
[SystemCode] [varchar](100) NOT NULL,
[Code] [varchar](200) NOT NULL,
[ShortCode] [varchar](200) NOT NULL,
[Description] [varchar](500) NOT NULL,
[CreatedBy] [varchar](200) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[ModifiedBy] [varchar](200) NOT NULL,
[ModifiedDateTime] [datetime] NOT NULL,
[LastModifedDateTime] [timestamp] NOT NULL
) ON [PRIMARY]
GO
USE [STDMGR]
GO
/****** Object:
PM ******/
Table [dbo].[QuotaLookUp]
Script Date: 2022-10-30
Script Date: 2022-10-30 07:58:57
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[QuotaLookUp](
[Id] [int] IDENTITY(1,1) NOT NULL,
[SystemCode] [varchar](100) NOT NULL,
[Code] [varchar](200) NOT NULL,
[ShortCode] [varchar](200) NOT NULL,
[Description] [varchar](500) NOT NULL,
[CreatedBy] [varchar](200) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[ModifiedBy] [varchar](200) NOT NULL,
[ModifiedDateTime] [datetime] NOT NULL,
[LastModifedDateTime] [timestamp] NOT NULL
) ON [PRIMARY]
GO
USE [STDMGR]
GO
/****** Object: Table [dbo].[StudentIdGenerator]
07:58:58 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[StudentIdGenerator](
[Id] [int] IDENTITY(1,1) NOT NULL,
[DepartmentSystemCode] [varchar](200) NOT NULL,
[StudentId] [varchar](200) NOT NULL,
[Reffered] [bit] NOT NULL,
[StudentName] [varchar](200) NULL,
[CreatedBy] [varchar](200) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[ModifiedBy] [varchar](200) NOT NULL,
[ModifiedDateTime] [datetime] NOT NULL,
[LastModifiedDateTime] [timestamp] NOT NULL
) ON [PRIMARY]
GO
USE [STDMGR]
GO
Script Date: 2022-10-30
/****** Object: Table [dbo].[StudentDetails]
08:14:21 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[StudentDetails](
[Id] [int] IDENTITY(1,1) NOT NULL,
[StudentId] [varchar](200) NOT NULL,
[StudentName] [varchar](500) NOT NULL,
[Department] [varchar](200) NOT NULL,
[ModeOfEntry] [varchar](200) NOT NULL,
[Quota] [varchar](200) NOT NULL,
[PMS] [bit] NOT NULL,
[Reservation] [bit] NOT NULL,
[FirstGraduate] [bit] NOT NULL,
[CreatedBy] [varchar](200) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[ModifiedBy] [varchar](200) NOT NULL,
[ModifiedDateTime] [datetime] NOT NULL,
[LastModifiedDateTime] [timestamp] NOT NULL
) ON [PRIMARY]
GO
Script Date: 2022-11-02
Dot net coding
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
namespace MEC.ERP.StudentManager.API
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>().UseDefaultServiceProvider(options =>
options.ValidateScopes = false);
});
}
}
using
using
using
using
MEC.ERP.StudentManager.Contracts.Constants;
MEC.ERP.StudentManager.Domain.Interfaces.Service;
MEC.ERP.StudentManager.Entities.LookUp;
Microsoft.Extensions.Caching.Memory;
namespace MEC.ERP.StudentManager.Cache
{
public static class CacheService
{
private static IMemoryCache _cache;
private static ILookUpService _lookUpService;
public static void InjectLookUpService(ILookUpService
lookUpService)=>_lookUpService=lookUpService;
public static void InjectMemoryCache(IMemoryCache cache) => _cache =
cache;
public static async Task IntitializeCache()
{
var cacheEntryOptions = new MemoryCacheEntryOptions
{
AbsoluteExpiration = DateTime.Now.AddHours(20),
SlidingExpiration = TimeSpan.FromHours(1)
};
if(!_cache.TryGetValue(Constants.CacheDepartmentLookUp,out
IEnumerable<DepartmentLookUp> departmentLookUp))
{
departmentLookUp = await _lookUpService.GetDepartmentLookUp();
_cache.Set(Constants.CacheDepartmentLookUp, departmentLookUp,
cacheEntryOptions);
}
if (!_cache.TryGetValue(Constants.CacheDocumentLookUp, out
IEnumerable<DocumentLookUp> documentLookUp))
{
documentLookUp = await _lookUpService.GetDocumentLookUp();
_cache.Set(Constants.CacheDocumentLookUp, documentLookUp,
cacheEntryOptions);
}
if (!_cache.TryGetValue(Constants.CacheModeOfEntry, out
IEnumerable<ModeOfEntryLookUp> modeOfEntryLookUp))
{
modeOfEntryLookUp = await _lookUpService.GetModeOfEntryLookUp();
_cache.Set(Constants.CacheModeOfEntry, modeOfEntryLookUp,
cacheEntryOptions);
}
if (!_cache.TryGetValue(Constants.CacheQuotaLookUp, out
IEnumerable<QuotaLookUp> quotaLookUp))
{
quotaLookUp = await _lookUpService.GetQuotaLookUp();
_cache.Set(Constants.CacheQuotaLookUp, quotaLookUp,
cacheEntryOptions);
}
}
public static IEnumerable<DepartmentLookUp> GetDepartmentLookUp() =>
_cache.Get<IEnumerable<DepartmentLookUp>>(Constants.CacheDepartmentLookUp);
public static IEnumerable<DocumentLookUp> GetDocumentLookUp() =>
_cache.Get<IEnumerable<DocumentLookUp>>(Constants.CacheDocumentLookUp);
public static IEnumerable<ModeOfEntryLookUp> GetModeOfEntryLookUp() =>
_cache.Get<IEnumerable<ModeOfEntryLookUp>>(Constants.CacheModeOfEntry);
public static IEnumerable<QuotaLookUp> GetQuotaLookUp() =>
_cache.Get<IEnumerable<QuotaLookUp>>(Constants.CacheQuotaLookUp);
}
}
namespace MEC.ERP.StudentManager.Common
{
public class Logger
{
public static string LoggerPath = string.Empty;
public enum TYPE { INFO = 1, SUCCESS = 2, WARNING = 3, ERROR = 4, LOG = 5
}
public static void Log(string message) => Logger.Log(message,
Logger.TYPE.INFO);
public static void Log(string message, TYPE logType) =>
Logger.Log(message, logType, string.Empty, string.Empty);
public static void Log(string message, Logger.TYPE logType, string
IPAddress, string logFrom)
{
if (string.IsNullOrEmpty(Logger.LoggerPath))
throw new Exception("Configure Logger.LoggerPath for logs!");
string currentDate = DateTime.Now.ToString("yyyyMMdd");
string fileExtension = logType switch
{
TYPE.SUCCESS => ".success",
TYPE.ERROR => ".error",
TYPE.WARNING => ".warning",
TYPE.INFO => ".info",
_ => ".log"
};
string filePath = LoggerPath;
if (!filePath.EndsWith(@"\"))
filePath += @"\";
string fullPath = string.Empty;
string logTemplate = "{0}\t{1}\t{2}\t{3}\t{4}" + Environment.NewLine;
string logFormattedData = string.Empty;
try
{
fullPath = $"{filePath}{currentDate}{fileExtension}";
logFormattedData = string.Format(logTemplate, (object)IPAddress,
(object)DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), (object)logFrom,
(object)logType.ToString(), (object)message);
WriteLog(logFormattedData, fullPath);
}
catch (Exception ex)
{
fullPath = $"{filePath}{currentDate}.error";
logFormattedData = string.Format(logTemplate, (object)IPAddress,
(object)DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), (object)($"{logFrom} Error
in Logger"), (object)Logger.TYPE.ERROR.ToString(), (object)ex.Message);
WriteLog(logFormattedData, fullPath);
}
}
private static void WriteLog(string content, string fileName)
{
if (!Directory.Exists(System.IO.Path.GetDirectoryName(fileName)))
{
System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(fileName));
}
File.AppendAllText(fileName, content);
}
}
}
RESULT
Download