Best Practices While Developing On-line Learning Platform using Microsoft Technology Stack
Answer by Sharmilli Priyadarsini:
I assume that you want to create a learning platform using .net and you are looking for components to simulate the feeling of social networking.
If that is the case, you should probably think about using the templates from CMS(content management systems) like Umbraco. Or if you are thinking about building your own the system, go by SDLC model.
1) Analysis – Make a thorough domain study to understand the preferences of your customer and see what is their actual expectation and how this system could benefit them.
2) Design – Split this section into two, High Level Design (HLD), Low Level Design(LLD). The high level design should cover the requirements on the business perspective and you should get the queries clarified through your customer on the number of users who are going to consume the software and your screen designs must be reviewed and confirmed by the customer before jumping into low level design document. In low level design, we need to look at the two aspects, backend design and front end design considering the customer expectations. This acts as a foundation for building the project architecture.
3. Development – Create your database and the required project layers considering HLD and LLD in your mind. Always go from the backend to the front end as the backend design could give you a clarity or wholistic picture on the software.Decide your technology stack based on your budget and customer requirements. Depending on the user base, you may have to decide the number of layers, If your application has enhancement plans to extend in different platforms, use Web services, etc.you can use SignalR for displaying the dynamic information like chats, real-time feeds etc. If you have database developers use direct database connectivity for optimum performance, if you do not have database experts, use an ORM like entity framework. Now, once the architecture is ready, start developing the modules one by one, perform unit testing to ensure the functionalies are working as expected and comply with the design documents.
Testing – After unit testing, your product should go through rigorous testing which includes functional testing, regression testing, performance testing etc. The defects identified from the testing should be fixed and it has to go through retest before rolling out to user acceptance testing. A few users gets to evaluate the product and provide feedbacks for product improvisation if any.
Delivery – once the product passes through all the above step, the product can be handed over to the customer.