Skip to content

Latest commit

 

History

History
101 lines (88 loc) · 5.4 KB

README.md

File metadata and controls

101 lines (88 loc) · 5.4 KB

ProSeeker-

My defense project for ASP.NET Core MVC course at SoftUni (October 2020 @SoftUni)

Brief description of the functionalities

Click for more detailed information ProSeeker‘s main idea is to be a platform based on supply and demand. A place where professionals in a certain field can be found by regular users who need their services. (mostly professionals who work on a recommendation basis). Users themselves can directly seek a specialist or upload an ad and receive an offer for a service.

3 roles: regular user, specialist, administrator

User:

  • Can create/edit/delete Ad.
  • Can send inquiry to a professional and receive an offer.
  • Can receive an offer from professional in two ways (from existing Ad or from sent inquiry).
  • Has section with his ads only, where he can access each of them.

Specialist:

  • Receive inquiries from regular users.
  • Can make offers to clients (two ways : Ad/Inquiry).

Admin:

  • Create/edit/delete job sub-categories;
  • Create/edit/delete base job categories;
  • Can create/edit/delete new surveys with questions and answers. When a certain user takes a survey, he becomes VIP for 1 week. VIP regular user – his ads will appear above all others, even after sorting criteria has been selected. If the user is specialist, his profile will appear above all others, even after sorting criteria has been selected. Each survey can be taken only once. Common actions for users and specialists:
  • Both users and specialists are allowed to like specialists’ profiles, leave comments/opinions on users’ Ads and specialists’ profiles (recursively).
  • After accepting an offer, both parties receive emails with other person’s contacts.
  • Update their profile info, add/change/delete avatar image.

Restrictions:

  • Specialists can make only 1 offer to a certain Ad. If they try to send second offer to the same Ad, new modal window pops up and they can either cancel the attempt to make an offer or retrieve/delete the old offer and make a new one.
  • Specialists can make more than 1 offers to regular user only when the user has sent an inquiry to the specialist (through the specialist profile).
  • Guest users (not logged-in) are restricted to a very few actions.
  • Only regular users can send an inquiry to specialists.
  • Only specialists can send offers to regular users.
  • Private chat is allowed for user-user / specialist-specialist. Users cannot start a private chat with specialists. This is against the main idea of the platform.
  • Server side + client side validations for all inputs.

🔨 Built With:

Click for more detailed information
  • .NET 5.0
  • Entity Framework Core 5.0
  • FontAwesome (font icons)
  • AutoMapper (object-to-object mapping library)
  • Repository Pattern (Mainly for easier tests nad maintaining soft deletion)
  • Cloudinary (file storage)
  • TinyMCE (text redactor)
  • HtmlSanitizer (XSS protection)
  • Bootsrap 4
  • JavaScript (well…)
  • CSS
  • HTML 5
  • Moment.Js (JavaScript library for easier work with date-time)
  • JQuery
  • SignalR (used for real-time chat)
  • WebAPI
  • SendGrid (for sending emails)
  • xUnit (for testing)

DB Diagram

Unit tests (services test coverage)

🖼️ Some screen shots

Home Register AD Chat Admin (Job categories) User's offers New offer Specialist's profile Specialists Survey Admin (surveys)