After couple of months spent on developing, my thesis is finally finished (yeah to be hones it's a beta version)! Happy happy day ;] Working and studying (which is was quite similar to work) is quite exhausting.I have created the e-learning platform. Its core functionality is content management + learning process management.
Technologies and Tools used in Project:
NLog is awesome ! It's easy and flexible. I will stick with it in my projects. Every app should implement logging mechanism because it simplifies development and cuts time spent on debugging code. Sentinel is a tool used to view generated logs. It supports for NLog and log4net. Sentinel is still in early development phase and needs improvements but it's ok.
In my scenario i had a dual screen setup ( monitor + laptop screen). Laptop was used as a log windows with sentinel.
NHibernate has step learning curve ( at least for someone like me with noob skills in ORM's) but its great, flexible and greatly simplifies Data Abstraction Layer implementation. I had couple of situatioon when, I had to do massive changes in the DB. With DAL in NHibernate it was easy task. For NH mappings i have used FluentNhibernate. This lib has some flaws and problems like weak sql stored procedure support but i really don't like the idea of xml files.
Whole DAL is covered by unit tests (all the repository methods and service methods). I m using NUnit because this was my first test framework and i got used to it. In this project i have used for the first time Mocking Framework. Why RhinoMock well, I am reading Ayende's Blog and thought that's this one will be good at the beginning. There are currently more than 120 tests.
I m using Automapper to convert between different classes. My DAL is behind WCF services and, I'm using DTO's as a transfer class. With Automapper conversion from NH entity to DTO is really simple.
This was my first time experience with DI frameworks. It works really well and is quite simple but recently i found a performance comparison and Ninject is very slow compared to other solutions. I was using Unity at work and, I m gonna try it with other projects.
This is a simple architecture of my app.
Log in Screen
I am using Adminica Template. Great Stuff !
It was quite a big project for me. I learned a lot and tried different solutions. After my graduation i will work maybe on it as a open source project.Tweet