Instructions for the practical part: the practical part is the development of the product.
First, this should be done on a local server, the code progress should be regularly uploaded to GitHub from my account, and finally, it should be uploaded to Render (optional)
Practical tasks:
1. Study the problem and available solutions:
Study existing systems and applications
Analyze the strengths and weaknesses of existing solutions.
Identify functionalities that can be improved or added.
2. System design: selection of software components and their connections.
Identify at least 5 entities, 5 views, 5 models, and 5 controllers.
CI/CD processes for continuous integration and deployment of applications.
Mandatory deployment of web applications online (for example, using the Render platform).
3. Technology selection: for the database, for the server side, for the client side.
Database: MS SQL Server using Entity Framework Core (Code First) with methods for seeding. The volume of data should be sufficient to demonstrate all the functionality of the application.
Server side: ASP.NET server application (minimum .NET 6 version) MVC with Razor engine for the client side or .NET Web API server application with the client side built using ReactJS/AngularJS/VueJS.
Client side: web application for user interface and interaction, as the technology depends on the server side.
4. Design and build the server side.
Create a backend to manage the application.
Adding and searching logic.
Functionality for tracking and obtaining statistics.
5. Design and create software for program management.
Admin panel for managing data and user profiles. Functions for adding, editing, and deleting data from the registry.
6. Design and create the client side: web applications.
7. Core functionalities (minimum requirements):
Admin panel for managing the product catalog, orders, payments, and customer data, promotional offers, etc.
Keep statistics on sales, popular products, and user preferences.
Web application allowing users to browse products, add them to the cart, and place orders.
Features such as searching, filtering, and sorting products by categories, price, popularity, etc.
Ability to track orders and generate invoices.
8. Testing, implementation, and improvement.
Create unit tests that test the business logic of the application (controllers, actions, helper classes, etc.) Unit tests should cover 65% of the functionality.
- Test the application on various devices and browsers.
- Optimize the performance and security of the applications.
https://docs.google.com/document/d/1bpjvcyjbp6V6AV5iYBxuvK0xxUb5WBVZ/edit?usp=sharing&ouid=117950956916122969361&rtpof=true&sd=true