Skip to content

George221b/ReviewYourFavourites

Repository files navigation

ReviewYourFavourites Project Assignment

for the C# MVC Frameworks Course @ SoftUni

Build status

General Requirements

  • The application is implemented using NET Core framework.
  • It uses Razor template engine for generating the UI, together with partial views.
  • Microsoft SQL Server as database back-end.
  • Use Entity Framework Core to access your database.
  • MVC Areas to separate different parts of your application (ReviewArea, AdminArea).
  • The UI is responsive using Bootstrap.
  • It uses the standard NET Identity System for managing users and roles.
    • The user roles are: user and administrator, ProUser.
  • Error handling and data validation to avoid crashes when invalid data is entered (both client-side and server-side).
  • Handle correctly the special HTML characters and tags like <br /> and <script> (escape special characters).
  • Use Dependency Injection.
  • Use AutoМapping.
  • Prevent from security vulnerabilities like SQL Injection, XSS, CSRF, parameter tampering, etc.

Additional Requirements

  • Follow the best practices for Object Oriented design and high-quality code for the Web application:
    • Use data encapsulation.
    • Use exception handling properly.
    • Use inheritance, abstraction and polymorphism properly.
    • Follow the principles of strong cohesion and loose coupling.
    • Correctly format and structure your code, name your identifiers and make the code readable.
  • Well looking user interface (UI) somewhat.
  • Good usability (easy to use UI), thanks to partial views.
  • Supporting of all modern Web browsers.
  • Use caching where appropriate.
  • Use a source control system by  - GitHub.

Business Logic

  • Guest Users
    • Can log in
    • Can Register
    • View Home page for Guest users
  • Users (logged in)
    • View Home page for Authorized users
    • Can write comic review /review/comics/create
    • Can EDIT theirs posts. /review/comics/edit/{id}
    • Can DELETE their posts /review/comics/delete/{id}
    • Can view all published comic reviews /review/comics
    • Can view details (full info page) for any comic review/comics/details/{id}
    • Can see and edit their profile. E.g. Change avatar users/myprofile/{id}
  • ProUsers
    • Have a special pro user badge in the menu
    • Have special pro user badge in their profile
  • Administrators
    • Can EDIT DELETE comic reviews of ANY user
    • Have admin panel (TODO)

 

Seeded data - Test yourself

  • Normal, pass: Normal2017
  • ProUser, pass: ProUser2017
  • Administrator, pass: Admin2017
  • There are already comic reviews seeded.