This software was built for a very prominent private school. The school already used an accounting and timetable generation software with some excellent feature.
1. School Management System
Introduction
This software was built for a very prominent private school. The school already used an accounting and
time table generation software with some excellent feature. But the user interface was complex and it did
not provide certain important features or integration needed by the school. We developed a set of
applications to work on data form the accounting software and also incorporate many additional
modules to fulfill the requirements.
Objectives
Understand requirements of eight departments
Develop modules accordingly
Study database structure if accounting software and sync data
Provide attendance mechanism
Sync all lesson and other entries with exchange accounts of staff and students
Provide the user interface in school’s SharePoint portal
Migrate certain data from last two years into the system
Challenges
Understanding a 3rd party database without any documentation and solely on explanation of functions
provided by IT team
Synchronizing with 3rd party database without causing issue with it
Providing an ASP.NET application inside a SharePoint portal
Synchronizing Exchange calendar of all staff and students with their calendar information
A very diverse set of excel files used by departments to be migrated into the database
2. Solution
A detailed study of 3rd party database was done by profiling and observing behavior of data against
functions in the software. Based on this a sync mechanism was designed to fetch necessary data into
application database and also push required data back.
So as to host the solution in SharePoint portal, a generic web part was created to render ASP.NET user
controls. This was needed to reduce the cost of development and debugging of the application.
The project lead met with members of departments to understand the data they were managing in excel
files and how to best create features to give and much better and integrated user experience.
Exchange integration was done using EWS and the client library Microsoft provides. A sync application
was created which reads lesson and other schedules from the database and created, updated and
removed entries for Exchange calendars. A “control panel” was provided to monitor and manage both
sync services.
Data migration was done in two steps. First all data from all files of each department was gathered in an
intermediate database table and verified. Then the same was transformed and imported into system
database through an application written specifically for the job.
Technology Stack
.Net framework 4.0 with C#
ASP.NET Web services
Windows services
EWS Managed API
SQL Server 2008 R2 and SQL Profiler
Exchange Server 2007