Skip to main content
Rakcha includes a full merchandise store where cinema managers can sell products — from branded merchandise to concessions — directly through the platform. Orders flow from cart through payment to delivery tracking.

Product catalog

Create products with names, prices, descriptions, images, and stock quantities, organised by category.

Shopping cart

Clients add items, adjust quantities, and remove products before proceeding to checkout.

Payment processing

Checkout via PayPal. Orders are confirmed automatically once payment completes.

Order lifecycle

Orders progress from en cours (pending) through to payé (paid) with full history tracking.

Product catalog management

Adding a product

1

Open the product dashboard

Navigate to Back Office → Products. The table shows all products with inline edit controls.
2

Fill in product details

Click Add Product and complete the form:
FieldRules
NameMaximum 50 characters, required
PricePositive integer, required
Description20 – 100 characters, required
Quantity in stockZero or positive integer, required
CategorySelected from the product category list
ImageUploaded to /img/produit/
3

Save the product

Submit the form. The product appears immediately in the public store listing.

Editing and deleting products

  • Edit — update any field including replacing the product image. Stock level changes take effect immediately.
  • Delete — removes the product record. Products that are currently in a customer’s cart cannot be soft-deleted; clear associated cart items first.

Price filtering

The public store provides a price-range filter. Clients slide a range control to show only products within their budget. The filter queries the catalog in real time without reloading the page.

Shopping cart workflow

1

Browse the store

Clients visit the product listing at /produit/listeproduit. Products are grouped by category, and a count per category is displayed for quick navigation.
2

Add to cart

On a product’s detail page, the client enters a quantity and clicks Add to Cart. Rakcha checks stock before adding:
  • If the requested quantity plus the quantity already in the cart exceeds the available stock, an error flash message is shown and the item is not added.
  • If the product is already in the cart, the quantity is incremented rather than creating a duplicate entry.
3

View and update the cart

The cart page (/listepanier) lists all items with their quantities and individual prices.
  • Change quantity — the cart sends an inline update; Rakcha validates the new quantity against current stock before accepting it.
  • Remove an item — clicking remove deletes that cart line immediately.
4

Calculate the total

Selecting items for checkout triggers a total calculation based on item price × quantity for each selected product. The total is shown before the client confirms the order.
Stock is not reserved at the cart stage. Items are deducted from inventory only when an order is created at checkout.

Checkout and payment processing

1

Proceed to checkout

From the cart, the client selects the items they want to purchase and clicks Checkout. This creates a new order record with status en cours and deducts the purchased quantities from each product’s stock.
2

Enter shipping details

The checkout form collects the delivery address and any additional order information before payment.
3

Pay with PayPal

The client is redirected to PayPal to authorise payment. Rakcha passes the order total and a return URL.
  • On success — PayPal redirects back to the platform. Rakcha completes the purchase and updates the order status to payé.
  • On cancellation — the client is returned to an error page and the order remains in en cours. The client can retry payment.
4

Payment confirmation

After a successful transaction, the client sees a payment success page. The order record is updated with the PayPal transaction ID.
PayPal is configured in test (sandbox) mode by default. Switch testMode to false and supply live credentials in your .env file before going to production.

Order management lifecycle

Orders move through the following statuses:
StatusMeaning
en coursOrder created, awaiting payment
payéPayment confirmed by PayPal
Admins and managers can view and edit individual orders from the order management section. The edit form allows manual status updates for cases such as refunds or fulfilment corrections.

Order items

Each order stores a list of CommandeItem records, one per product line. Each item captures:
  • The linked product
  • The quantity ordered at time of purchase
This ensures the order history remains accurate even if the product is later edited or deleted.

Inventory tracking

Stock levels are managed per product via the quantiteP field. Inventory is updated at two points:
  1. When an order is created — the quantity ordered is deducted from stock for each product in the cart.
  2. In the cart — add-to-cart and quantity-update operations check available stock in real time and reject requests that would exceed it.
Admins can adjust stock levels at any time by editing the product’s quantity field directly from the product dashboard.

Build docs developers (and LLMs) love