New Application for Client/Order Tracking

by silvercrux @ 15. March 2010 12:18

So we are starting up with a new portal for easier access between me and my clients. I want to do this in a controlled fashion rather then email/twitter/im etc.

The purpose of this application is going to be :

Client

  • Signup and Pay
  • Submit Work details and related milestones
  • Collaborate with Staff
  • Request for Proposals
  • View Proposals and approve it.
  • View Invoices and Pay for it
  • Update Project specific Deliverables

Staff

  • Collaborate on client’s work
  • Submit Proposals
  • See and manage their priorities
  • Update progress on milestones and work items

Admin

  • Client Admin
  • Client Assignments to Managers
  • Invoicing and Payments
  • Proposals and their status Reminders
  • Client History
  • Client Notes
  • Case Management

Ok I know for some of you this might be boring details. For those who are still here : I could have used BaseCamp + Freshbooks + Proposable + whatever utility Web 2.0 companies. However I don’t want to go that route, for simple reason is I would have to customize a lot based on my business workflow. To give you an example, our Client’s can hire employees based on different models, in order to ensure their effectiveness we are going to give our clients access to our staff’s actual screenshots something like odesk. Long story short : We want to do customizable portal from start. Since we are a Microsoft Shop, we couldn’t adopt open source / PHP scripts.

So brand new project, one question comes up in true developer’s mind is what architecture/technologies to use etc :

  • .NET 4.0
  • ASP.NET MVC 2.0
  • Entity Framework (started to learn nHibernate, but I don’t want to wait on this. Will try to keep architecture independent of Persistance Libraries).
  • jQuery UI
  • Blueprint Grid Framework
  • .LessCSS
  • Log4Net for Logging
  • Lucene for Search and Retrieval
  • Microsoft AJAX Framework and DataAnnotations classes.
  • SQL Server 2008
  • Reporting Services for SQL Server 2008 (for Client Reporting)
  • Silverlight 4 to provide Whiteboarding and share Annotations between Client and Staff
  • Share Models between Silverlight, MVC and WCF layers (I may have to expose my logic at some point to other clients for eg : Ticket System etc)

In my next post I will give you rough idea of my architecture. Your feedback is vital as I am willing to learn everything I can :)





C# 101: Virtual Function Members Vs Abstract Function Members

by silvercrux @ 12. March 2010 12:13

This series is going to be a C# refresher that reminds you of C# features you sometimes forget.

A function can be marked as virtual when you don’t want your sub-classes to compulsorily provide implementation of some specialized form. So you can treat virtual as opposite of abstract, where you have to compulsorily provide implementation.

Consider this small fragment :

   1: public abstract class Person
   2: {
   3:     public abstract string Name {get;}
   4:     public virtual decimal TotalDebts
   5:     {
   6:         get
   7:         {
   8:             return 0;
   9:         }
  10:     }
  11: }
  12:  
  13: public class RichPerson : Person
  14: {
  15:     public override string Name 
  16:     {
  17:         get {return "I am Rich";}
  18:     }
  19: }
  20:  
  21: public class PoorPerson : Person
  22: {
  23:     public override string Name 
  24:     {
  25:         get {return "I am just a Poor guy";}
  26:     }
  27:     
  28:     public override decimal TotalDebts
  29:     {
  30:         get{return 1000000;}
  31:     }
  32: }

In this example the property “Name” declared in Line 3 is abstract while property “TotalDebts” in Line 4 is virtual.  The difference is while it is compulsory for deriving class to override “Name”, it is optional for deriving class to override “TotalDebts”. In this particular case PoorPerson is under heavy debt and implements TotalDebts to return his TotalDebts.





TekPub.com : First Impressions

by silvercrux @ 5. March 2010 12:22

Well it’s Friday again and in INDIA, where I am based at, it is almost Friday evening. So it’s that time of the week when all of us want to learn and do something new for the weekend.

I have been trying to wrap my head around ASP.NET MVC and bought a book last week title “ASP.NET MVC Quickly” from Packt Publishing. I went through whole book last weekend and when I finished the book I felt pretty confident of understanding the core concepts and thought I could start a small little project on Monday night.

My hopes were shattered though as soon as I start writing something meaningful in ASP.NET MVC. I constantly felt the need to know how to do this and how to do that. Even in simplest of tasks like Html.ActionLink, I was struggling to find how to pass values into the controller. I managed to do it by doing a quick google lookup but I realized that I am not ready.

Being a 1 person – startup, I didn’t want to invest a whole lot of time and energy into books and playing with samples. I wanted to write something meaningful even though I was learning.

My Objectives were :

  1. Learn MVC Quickly
  2. Start using it for something productive
  3. Spend reasonable amount. I set aside Rs.1000/month that is roughly $20 so I would have wanted to stay in that budget :)

I was aware of tekpub.com before, but this week I decided that enough is enough and I need to be learning and using these things almost yesterday.

So I finally signed up for monthly subscription of TekPub.com and watched first video. So far things are looking great.

I would personally suggest anyone interested in learning ASP.NET MVC should sign up for that course ASAP. Get rid of your lizard brain :)

Ok, I will post my views after going through the videos a bit more.

So far I had 2 minor complains :

  • Speed of video stream is terrible. I know it’s not my internet because I am able to watch other sites just fine. I would suggest they should use Amazon Cloud front or similar
  • Not being able to download videos :(. In monthly subscription they don’t give downloads. In poor bandwidth country like INDIA, I would have appreciated it.

 

That's it, I will post more of my findings next week :)



MVC



© Copyright SilverCrux Technologies. All rights reserved. We provide website html services.