Skip to content

Routing Schema

Ahmed Mossa edited this page Dec 5, 2024 · 3 revisions

Routing Scheme

Public Routes

  • /

    • Redirects to the browse page.
  • /browse

    • Browse Games Page. Displays a list of games with a search bar.
    • Filters:
      • ?category=category_name
      • ?categoryType=category_type
      • ?price_range=range
      • ?name=game_name
  • /browse/games/:id

    • Displays details of a specific game.
    • Shows stock, price, reviews, and manager replies.
    • Allows adding games to the wishlist or cart (only if logged in).

Auth Routes

  • /login
  • /signup

Customer Routes

Requires authentication

  • /account

    • View and modify account information (including payment cards).
  • /cart

    • Manage shopping cart items.
    • Save cart updates to local storage.
  • /checkout

    • Place an order with payment information.
    • Option to save new payment methods.
    • Confirmation popup on order submission.
  • /wishlist

    • Manage wishlist games.
    • Displays archived games flagged in the wishlist.
  • /orders

    • View all past orders organized by date.
    • Archived games flagged in the order history.
  • /orders/:id

    • View specific order details.
    • Return option within 7 days of order date.
    • Submit or view reviews for an order.

Manager-Only Routes

Restricted to managers

  • /manager/account

    • View and modify manager account details.
  • /manager/game-requests

    • View all game requests.
  • /manager/game-requests/:id

    • View details of a specific game request.
  • /manager/games

    • View all games (active and archived).
  • /manager/games/create

    • Create a new game.
  • /manager/games/:id

    • View and update game details.
  • /manager/categories

    • View all categories.
  • /manager/categories/create

    • Create a new category.
  • /manager/categories/:id

    • View category details.
  • /manager/employees

    • View all employees.
  • /manager/employees/create

    • Create a new employee.
  • /manager/employees/:id

    • View and update employee details.
  • /manager/promotions

    • View all promotions with filters (?type=promotion_type).
  • /manager/promotions/create

    • Create a new promotion.
  • /manager/promotions/:id

    • View promotion details.
  • /manager/reviews

    • View all reviews, organized by game.
  • /manager/reviews/:id

    • Delete or reply to a review.
  • /manager/dashboard

    • Administrative Dashboard with sections for policies, metrics, and orders.
  • /manager/dashboard/policies

    • Manage policies (create or update).
  • /manager/dashboard/orders

    • View all orders.

Employee-Specific Routes

Restricted to employees

  • /employee/account

    • View and modify employee details.
  • /employee/categories

    • View categories (similar to manager but read-only for creating/updating).
  • /employee/game-requests

    • View and manage game requests created by the employee.
  • /employee/game-requests/create

    • Create a new game request.
  • /employee/game-requests/:id

    • View details and add notes to a game request.

Non-Routing Specifications

  • 404 Page: Handle unknown routes.

  • Startup Scripts:

    • Create a manager account on startup.
  • Login Check: Ensure employees can only log in if their account is active.

Clone this wiki locally