Requirements

Common

  • User should be able to log in and register
  • Must have Redis caching
  • Must be Richardson Maturity model compliant
  • Must use MediatR pipeline behaviours for Cross Cutting Concerns
  • Must be Dockerized
  • Must be able to send E-mails (maybe something with RabbitMQ ?)
  • Must have global exception handling
  • Must have logging to a database (serilog ?)

User

  • User should be able to view their currently rented car
  • User should be able to see available rentals
  • User should be able to see their current annual rate
  • User should be able view vehicles by categories
  • User should be able to rent available cars
  • User should be able to rent only one car
  • User should not be able to see cars that are not rentable.
  • User should be able to enable their account with a code that's sent to their mail

Admin

  • Admin should be able to upload paperwork to the application tied to the renter and the rental car
  • Admin should be able to see cars with any statuses
  • Admin should be able to change statuses of cars
  • Admin should be able to
  • Admin should be able to
  • Admin should be able to