Wednesday, December 26, 2007

My First Project WebLocker

My name is Vikas Agarwal. I am working in datafix in Pune.

We had the Client requirement to make the project for school as an OS win 2003 server, so for each students and teacher they need SAM accounts Active Directory with respective quota. This could be easy part just to use predefined classes like DirectoryEntry to create the accounts. But what they need was the advanced site that can let the student, teachers and admin to access their accounts from their home and do all the functionality they can perform on Lan plus the students joined recently should be reflected in AD and these students can access their account from web. So we created one Windows service that creates and Synchronies SAM account from the database that holds user db. For which there was one utility that configures the settings for windows service like synchronizing time interval Between AD and db of client and quota size etc.

Next we created site WebLocker with windows authentication, sql server session management, and the site db as sqlserver. Facilities for creating, deleting folder, downloading files from own account. It was windows on web. One of the challenges was to upload the files in the teacher folder by students; condition was that teacher should be teaching at least one subject and other folders security permissions.

Deployment task was terrible enjoyable task; First time 2 days spent on make the utility and Win service running on member server. It was the first project of my career and I really enjoyed doing project that lasts for near 6 months.

Main thing was the design of the whole application that minimized bug list. We have designed High level as well low level Design documents. We were having the checklists that make things easier. We follow all the coding standardization and guidelines. No doubt the xml comments and inline comments were there that tells the logic and updating of global variables. We have not taken a single constant numbers anywhere in code, like I = 1 to 5, every constant was predefined in a separate file. We have divided the project into 3 tiers and set the project dependency accordingly, Things were so generalized. All the drastic changes can be done in quick time. we have the separate class library for log with facility for Event, file and database log of application, Each event was traced from top layer to bottom layer, And I think when we log all steps it tells the actual flow of the application that what WPF is designed to now.

We were more process oriented and that leads to a successful application. No doubt time and money is major factor being considered developing applications like this. With perfect design and project schedule we save both. And I will add one thing if the application is made so generalized then the major change can be done easily without changing the current code. That was we up to.

I have used here 'We' all where, no doubt our team was of 3, 2 dev and one tester and we divided our tasks, but it was all efforts that lead to a successful application.

No comments: