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