libra/docs/prd.md

32 KiB

Product Requirements Document (PRD)

Libra Law Firm Website

Version: 1.1
Date: December 20, 2025
Domain: libra.ps
Prepared for: Development Team & Client Review


1. Executive Summary

Libra Law Firm requires a professional, bilingual (Arabic/English) web platform to manage client consultations, appointments, and case tracking. The system will serve as both a public-facing website and an internal management tool for the law firm's operations.


2. Project Objectives

  • Provide a professional online presence for Libra Law Firm
  • Streamline consultation booking process
  • Manage client accounts and case timelines
  • Enable the lawyer to publish legal content/updates
  • Maintain professional, detail-oriented design standards
  • Ensure easy usability for both admin and clients

3. Target Audience

Primary Users:

  • General public with legal concerns (all law practice areas)
  • Individual clients and corporate/business clients
  • Arabic-speaking primary audience with English language support

Admin User:

  • Single lawyer/firm owner
  • Manages all aspects of the platform
  • Female lawyer with high attention to detail and professional standards

4. Technical Specifications

4.1 Technology Stack

  • Framework: Laravel 11.x (latest stable version)
  • Frontend: Blade Templates
  • CSS Framework: Bootstrap 5.3+ with RTL support
  • Database: MariaDB (latest stable)
  • Authentication: Laravel's built-in authentication
  • Server: Rocky Linux 9 (client-managed infrastructure)
  • Email Server: SMTP (details to be configured in .env)
  • PHP Version: PHP 8.2+

4.2 Language Support

  • Primary Language: Arabic (default)
  • Secondary Language: English
  • Implementation: Full site language toggle
  • Layout: RTL (Right-to-Left) for Arabic, LTR for English
  • Content: All UI elements, notifications, and admin interface in both languages
  • Numerals: Western numerals (123) for both languages
  • Time Format: 12-hour format (AM/PM) for both languages
  • Date Format:
    • Arabic: DD/MM/YYYY (e.g., ٢٠/١٢/٢٠٢٥)
    • English: MM/DD/YYYY (e.g., 12/20/2025)

5. Core Features & Requirements

5.1 Landing Page (About Us)

Purpose: Main entry point showcasing the law firm

Components:

  • Company introduction and overview
  • Team/lawyer personal information
  • Professional, elegant design reflecting law firm standards
  • Embedded simplified booking form
  • Call-to-action elements
  • Responsive design (mobile, tablet, desktop)

Design Requirements:

  • Highly professional aesthetic
  • Detail-oriented with polished elements
  • Clean lines and sophisticated typography
  • Color palette: Dark Navy Blue background with Gold accents
  • Libra scales logo prominently displayed
  • Elegant, refined visual elements
  • Easy navigation despite sophistication

5.2 Navigation System

Structure:

  • Fixed top navigation bar
  • Language toggle (Arabic/English)
  • Main menu items:
    • Home/About Us
    • Booking/Consultations
    • Posts/Updates
    • Login (for registered clients)
  • Responsive mobile menu
  • Clear visual hierarchy

5.3 User Management System

User Types:

A. Individual Clients

  • Full Name
  • National ID Number
  • Email Address
  • Phone Number
  • Password (set by admin)

B. Company/Corporate Clients

  • Company Name
  • Company Certificate/Registration Number
  • Contact Person Name
  • Contact Person ID
  • Email Address
  • Phone Number
  • Password (set by admin)
  • Note: Unlimited contact persons per company account

Key Features:

  • No self-registration - all accounts created by admin only
  • System clearly distinguishes between individual and company accounts
  • Admin manually sets passwords for all users
  • No password reset functionality for users (admin must reset manually)
  • Email notification sent to user upon account creation with login credentials
  • User profile management by admin
  • Account activation/deactivation by admin
  • Admin can convert individual accounts to company accounts and vice versa

Account Management:

  • Deactivate Account: User cannot login, but all data is retained
  • Delete Account: Permanently removes user and all associated data
  • Deactivated accounts can be reactivated by admin
  • Deleted accounts cannot be recovered

5.4 Booking & Consultation System

Consultation Details:

  • Actual Duration: 45 minutes per session
  • Booking Slot: 1 hour (45 min consultation + 15 min buffer)
  • Types: Free or Paid (determined by admin after submission)
  • Working Hours: Configurable by admin via dashboard
  • Payment: No online payment gateway (handled offline)
  • Client Limit: Maximum 1 consultation per client per day
  • Advance Booking: Clients can book without payment confirmation
  • Admin Flexibility: Admin decides how to handle no-shows and missed appointments

Booking Flow:

  1. Client Initiates Booking:

    • Logs into their account
    • Views available dates/times in calendar
    • Selects preferred date and time
    • System checks: no more than 1 booking per day for this client
    • Provides detailed problem summary (text field)
    • Submits booking request
  2. Request Status: Pending

    • Booking enters pending queue
    • Admin receives email notification at no-reply@libra.ps
    • Client sees "Pending Review" status
  3. Admin Reviews:

    • Reviews problem summary
    • Determines if consultation is Free or Paid
    • Sets consultation type
    • If paid, admin can specify amount/payment instructions
    • Approves or rejects booking
  4. Booking Confirmed:

    • Client receives approval email notification
    • If paid: email includes payment instructions (offline)
    • Calendar event automatically generated
    • Downloadable .ics calendar file provided
    • Admin can mark payment as received (for paid consultations)
    • Payment confirmation not required before appointment

Calendar System Features:

  • Real-time availability display
  • Admin sets working hours per day of week
  • Admin can block time slots for personal events
  • Shows booked appointments (blocks those times for other clients)
  • 15-minute automatic buffer time between appointments
  • Visual indicator for availability
  • System prevents double-booking
  • System prevents client from booking more than 1 consultation per day

Admin Controls:

  • View all bookings (pending, approved, completed, cancelled, no-show)
  • Filter by consultation type (free/paid)
  • Filter by date range
  • Mark consultations as completed
  • Mark consultations as no-show
  • Cancel bookings on behalf of clients
  • Reschedule appointments
  • Flexible handling of no-shows (admin decides action)
  • Mark payment as received/pending for paid consultations

Client Restrictions:

  • Cannot cancel their own bookings (must contact admin)
  • Cannot reschedule directly (must contact admin)
  • Maximum 1 consultation per day
  • Cannot book if payment is marked as required but not confirmed (admin discretion)

Email Notifications:

To Client (from no-reply@libra.ps):

  • Account created with login credentials
  • Booking submitted confirmation
  • Booking approved/rejected notification
  • Consultation reminder (24 hours before)
  • Consultation reminder (2 hours before)
  • Timeline update notification
  • All notification emails are mandatory (no opt-out)

To Admin:

  • New booking request submitted
  • New user registration (if applicable in future)
  • System notifications - critical system events

5.5 Case Tracking Timeline System

Overview: Each client can have multiple case timelines to track progress on different legal matters.

Timeline Structure:

  • Case Name/Reference: Set by admin when creating timeline
  • Creation Date: Automatically recorded
  • Status: Active or Archived
  • Updates: Text-based entries added by admin

Features:

Admin Capabilities:

  • Create new timeline for any client
  • Create unlimited timelines per client
  • Assign case name/reference number
  • Add text-based updates/milestones
  • Edit existing timeline entries
  • Archive/close timelines when cases are resolved
  • View all timelines across all clients

Client View:

  • See list of all their timelines/cases (both active and archived)
  • View detailed timeline for each case
  • Read admin updates in chronological order
  • Receive email notification when timeline is updated
  • Cannot add comments or respond to timeline updates
  • Cannot edit timeline entries
  • Archived timelines remain visible to clients

Timeline Entry Components:

  • Date/timestamp (automatic)
  • Admin name (automatic)
  • Update text (entered by admin)
  • Entry edit history

Note:

  • No document upload functionality - text updates only
  • Strictly one-way communication (admin to client)
  • Clients cannot interact with timelines beyond viewing

5.6 Posts/Blog Section

Purpose: Admin-only content publishing for legal updates, articles, news

Features:

Content Management:

  • Admin creates posts with title and body content
  • Text content only (no media uploads for now)
  • Rich text editor for formatting
  • Immediate publishing (no scheduling)
  • Edit published posts
  • Delete posts
  • Posts display in reverse chronological order
  • Simple search functionality (title and body)
  • No categories or tags at this time
  • No SEO optimization (meta descriptions, custom slugs) at this time

Public Display:

  • Posts visible to all website visitors (no login required)
  • Clean, readable layout
  • Responsive design
  • No comments functionality
  • No user interaction (read-only)
  • Search bar to find posts

Admin Interface:

  • List view of all posts
  • Quick edit/delete actions
  • Post preview before publishing
  • Draft saving capability
  • Search through existing posts

5.7 Admin Dashboard

Overview: Central control panel for lawyer to manage all platform operations

Dashboard Components:

A. Overview/Statistics (Main Dashboard):

  • User Metrics:

    • Total active clients (individual vs company breakdown)
    • Total deactivated clients
    • New clients this month
  • Booking Metrics:

    • Pending booking requests count
    • Today's consultations count
    • This week's consultations count
    • This month's consultations count
    • Total consultations (all time)
    • Free vs Paid consultations breakdown
    • No-show rate percentage
  • Timeline Metrics:

    • Total active case timelines
    • Total archived timelines
    • Updates added this week
  • Posts Metrics:

    • Total published posts
    • Posts published this month

Visual Representation:

  • Clean card-based layout
  • Charts for monthly trends (line/bar charts)
  • Color-coded status indicators
  • Quick stats at a glance

B. Booking Management:

  • List of pending booking requests
  • Today's approved consultations
  • Upcoming consultations calendar view
  • Filter by: consultation type, date range, status, payment status
  • Quick approve/reject actions
  • Mark as completed/no-show
  • Mark payment as received

C. User Management:

  • List all users (individual and company separate views)
  • Search users by name, email, ID
  • Create new user account
  • Edit user information
  • Convert individual to company or vice versa
  • Reset user password
  • Deactivate user account (data retained)
  • Delete user account (permanent removal)
  • View user's consultation history
  • View user's case timelines

D. Working Hours Configuration:

  • Set available days of the week
  • Set start/end times for each day
  • Set different hours for different days
  • Block specific dates/times
  • 15-minute buffer time automatically applied between appointments

E. Timeline Management:

  • View all active timelines
  • Create new timeline for client
  • Create multiple timelines per client
  • Add updates to existing timelines
  • Archive completed timelines
  • Filter by client or case status

F. Posts Management:

  • Create new post
  • Edit/delete existing posts
  • View all posts
  • Search posts
  • Simple list interface

G. Reports & Exports:

  • Export Options:

    • User list (CSV, PDF)
    • Consultation records (CSV, PDF)
    • Timeline reports (CSV, PDF)
    • Monthly statistics summary (PDF)
  • Date Range Filters:

    • Custom date range selection
    • Preset ranges (This Month, Last Month, This Quarter, This Year)

H. Settings:

  • Profile information
  • Email notification preferences
  • System configurations
  • Terms of Service page editor
  • Privacy Policy page editor

Design Requirements:

  • Clean, professional interface
  • Easy navigation between sections
  • Quick action buttons for common tasks
  • Responsive design for tablet use
  • Arabic-first with English toggle
  • Clear visual hierarchy
  • Dark navy blue and gold color scheme

5.8 Client Dashboard

Purpose: Client portal to access their information and services

Dashboard Components:

A. Overview:

  • Upcoming consultations
  • Active case timelines count
  • Recent timeline updates (last 3)
  • Booking limit status (1 per day indicator)

B. My Consultations:

  • Upcoming consultations with details
  • Past consultation history
  • Pending booking requests status
  • Download calendar files (.ics)
  • Payment status for paid consultations
  • Consultation type indicator (Free/Paid)

C. My Cases/Timelines:

  • List of all timelines (active and archived clearly separated)
  • Click to view detailed timeline
  • See updates in chronological order
  • Status indicators (active/archived)
  • Visual distinction between active and archived

D. Profile:

  • View personal/company information
  • Contact details
  • Account type (individual/company)
  • Cannot edit (admin only)

E. New Booking:

  • Quick access to booking form
  • Calendar view of availability
  • Submit new consultation request
  • Warning if already booked for selected day

Design Requirements:

  • Simple, intuitive interface
  • Professional yet accessible design
  • Clear status indicators
  • Mobile-friendly
  • Consistent with main site design
  • Dark navy blue and gold color scheme

6. User Roles & Permissions

6.1 Admin Role

Full Access:

  • All CRUD operations on users
  • Convert user types (individual ↔ company)
  • Deactivate and delete accounts
  • All booking management functions
  • All timeline management
  • All post management
  • System configuration
  • Working hours management
  • View all data and reports
  • Export data (CSV, PDF)
  • Edit Terms of Service and Privacy Policy

6.2 Client Role

Limited Access:

  • View own profile (cannot edit)
  • Submit booking requests (max 1 per day)
  • View own consultations
  • View own timelines (read-only, including archived)
  • Cannot cancel/modify bookings
  • Cannot reset own password
  • Cannot comment on timelines
  • Cannot opt-out of email notifications

7. Design Requirements

7.1 Brand Identity & Visual Guidelines

A. Color Palette

Primary Colors:

  • Dark Navy Blue: #0A1F44

    • Usage: Main background, header, footer, primary sections
    • Creates professional, trustworthy atmosphere
  • Gold/Brass: #D4AF37

    • Usage: Accent elements, buttons, links, icons, dividers
    • Represents prestige, excellence, legal authority

Supporting Colors:

  • Light Gold: #F4E4B8 (hover states, subtle highlights)
  • Off-White/Cream: #F9F7F4 (text on dark backgrounds, card backgrounds)
  • Charcoal Gray: #2C3E50 (secondary text, borders)
  • Success Green: #27AE60 (approved status, success messages)
  • Warning Red: #E74C3C (rejected status, error messages)
  • Pending Yellow: #F39C12 (pending status indicators)

Accessibility Compliance:

  • All text/background combinations meet WCAG AA standards
  • Minimum contrast ratio of 4.5:1 for body text
  • Minimum contrast ratio of 3:1 for large text and UI elements

B. Logo Usage

Libra Scales Symbol:

  • Primary logo featuring Libra scales in gold on navy background
  • Symbol represents justice, balance, and fairness
  • Logo placement:
    • Top left corner of navigation (desktop)
    • Centered in mobile navigation
    • Footer (smaller version)

Logo Specifications:

  • Minimum size: 120px width (desktop), 80px width (mobile)
  • Clear space: Minimum 20px padding on all sides
  • Acceptable formats: SVG (primary), PNG (fallback)
  • Color variations:
    • Full color (gold on navy) - primary use
    • Reversed (navy on light background) - for light sections
    • Monochrome gold - for special applications

C. Typography

Arabic Font:

  • Primary: Cairo or Tajawal (Google Fonts)
  • Characteristics: Modern, professional, highly legible
  • Weights: Light (300), Regular (400), SemiBold (600), Bold (700)

English Font:

  • Primary: Montserrat or Lato
  • Characteristics: Clean, professional, pairs well with Arabic fonts
  • Weights: Light (300), Regular (400), SemiBold (600), Bold (700)

Font Hierarchy:

  • H1 (Page Titles): Bold, 2.5rem (40px)
  • H2 (Section Headings): SemiBold, 2rem (32px)
  • H3 (Subsection Headings): SemiBold, 1.5rem (24px)
  • Body Text: Regular, 1rem (16px)
  • Small Text/Captions: Regular, 0.875rem (14px)
  • Line Height: 1.6 for body text, 1.3 for headings

D. Visual Elements

Gold Accent Usage:

  • Primary action buttons (solid gold background)
  • Secondary buttons (gold outline)
  • Links and hover states
  • Decorative dividers between sections
  • Icon highlights
  • Active state indicators
  • Border highlights on cards

Cards & Containers:

  • Subtle box-shadow: 0 2px 8px rgba(0,0,0,0.1)
  • Border-radius: 8px for consistency
  • Card backgrounds: Off-white/cream on navy page background
  • Padding: 24px standard internal padding

Icons:

  • Style: Line-based, minimalist (e.g., Feather Icons or Bootstrap Icons)
  • Color: Gold for primary actions, charcoal for secondary
  • Size: 24px standard, 32px for featured icons

Buttons:

  • Primary Button:

    • Background: Gold (#D4AF37)
    • Text: Dark Navy Blue
    • Hover: Light Gold (#F4E4B8)
    • Border-radius: 6px
    • Padding: 12px 24px
  • Secondary Button:

    • Background: Transparent
    • Border: 2px solid Gold
    • Text: Gold
    • Hover: Gold background with Navy text
  • Disabled State:

    • Background: #CCCCCC
    • Text: #666666
    • No hover effect

Background Patterns (Optional):

  • Subtle texture or geometric pattern on navy backgrounds
  • Very low opacity (5-10%) to add depth without distraction
  • Scales/justice motif integrated subtly if desired

E. Spacing & Layout

Grid System:

  • Bootstrap 5 12-column grid
  • Container max-width: 1200px
  • Gutter width: 24px

Spacing Scale:

  • xs: 4px
  • sm: 8px
  • md: 16px
  • lg: 24px
  • xl: 32px
  • xxl: 48px

Section Padding:

  • Desktop: 64px vertical, 24px horizontal
  • Tablet: 48px vertical, 20px horizontal
  • Mobile: 32px vertical, 16px horizontal

7.2 Design Principles

  • Professional: High-end law firm standard
  • Elegant: Subtle, refined touches throughout
  • Accessible: Easy to use despite sophistication
  • Responsive: Perfect display on all devices
  • Consistent: Unified design language across all pages
  • Attention to Detail: Polished micro-interactions and transitions

7.3 UI/UX Requirements

  • Intuitive navigation
  • Clear call-to-action buttons with gold accents
  • Proper form validation with helpful error messages
  • Loading states for async operations
  • Success/error notifications (toast messages or modal)
  • Consistent spacing and alignment
  • Accessible color contrast ratios
  • Clear visual feedback for user actions
  • Smooth transitions and animations (subtle, professional)
  • Mobile-first responsive design

7.4 Responsive Breakpoints

  • Mobile: < 576px
  • Tablet: 576px - 991px
  • Desktop: 992px - 1199px
  • Large Desktop: ≥ 1200px

8. Email System

8.1 Email Server

  • SMTP configuration provided by client team
  • Configuration via .env file
  • Sender Email: no-reply@libra.ps
  • Sender Name: Libra Law Firm / مكتب ليبرا للمحاماة

8.2 Email Templates

All emails in both Arabic and English based on user preference:

Client Emails (Mandatory - No Opt-out):

  1. Welcome Email - Account created with login credentials
  2. Booking Confirmation - Request submitted successfully
  3. Booking Approved - With consultation details, payment instructions (if paid), and calendar file
  4. Booking Rejected - With reason (if provided)
  5. Consultation Reminder - 24 hours before
  6. Consultation Reminder - 2 hours before
  7. Timeline Update - When admin adds update to their case

Admin Emails:

  1. New Booking Request - With client details and problem summary
  2. System Notifications - Critical system events

8.3 Email Requirements

  • Professional email templates matching brand design (navy blue & gold)
  • Mobile-responsive email layout
  • Plain text fallback
  • Clear subject lines (bilingual based on user preference)
  • Logo and branding elements in header
  • Consistent typography and spacing
  • Call-to-action buttons (gold) where applicable
  • Footer with firm contact information

9. Security & Data Privacy

9.1 Authentication & Authorization

  • Secure password hashing (Laravel default: bcrypt)
  • Session management with timeout (2 hours inactivity)
  • Role-based access control (admin vs client)
  • CSRF protection on all forms
  • XSS prevention
  • Rate limiting on login attempts

9.2 Data Protection

  • All sensitive client data encrypted in database
  • Secure HTTPS connection (SSL certificate required)
  • Regular backup schedule (managed by client infrastructure team)
  • Audit logs for admin actions (user edits, account deletions, booking modifications)
  • Secure password storage (hashed, never plain text)

9.3 User Privacy

  • No public display of client information
  • Case timelines private to assigned client
  • Secure login required for all client data access
  • Admin-only access to user management
  • Clear deactivation vs deletion policies
  • Terms of Service page (admin editable)
  • Privacy Policy page (admin editable)

9.4 Data Retention

  • Deactivated Accounts: All data retained indefinitely until admin deletes
  • Deleted Accounts: Permanent removal of all associated data (consultations, timelines, bookings)
  • Backups: Follow client infrastructure backup schedule

10.1 Required Pages

  • Terms of Service: Admin-editable page, accessible from footer
  • Privacy Policy: Admin-editable page, accessible from footer
  • Both pages available in Arabic and English

10.2 Compliance Notes

  • No specific Palestinian legal requirements identified at this time
  • Standard best practices for data privacy applied
  • Client consent implied through account usage
  • Cookie consent: To be determined (not specified in requirements)

11. Analytics & Reporting

11.1 Admin Dashboard Analytics

Real-time Metrics:

  • Active users online
  • Pending booking requests
  • Today's consultations

Historical Metrics:

  • New clients per month (chart)
  • Consultations per month (chart)
  • Free vs Paid consultations trend (chart)
  • No-show rate over time (chart)

Visualization:

  • Simple line/bar charts
  • Color-coded cards for quick stats
  • Percentage indicators for growth/decline
  • No complex analytics tools required

11.2 Export Functionality

Export Formats:

  • CSV (for data analysis)
  • PDF (for presentation/printing)

Exportable Data:

  • User Lists:

    • All users with details
    • Individual clients only
    • Company clients only
    • Filterable by date range, status (active/deactivated)
  • Consultation Records:

    • All consultations with client details
    • Filter by date range, consultation type, status, payment status
    • Include client problem summaries
  • Timeline Reports:

    • All timelines for a specific client
    • All timelines across all clients
    • Filter by active/archived status
  • Monthly Statistics Summary (PDF):

    • Overview of all key metrics for selected month
    • Charts and graphs included
    • Professional PDF template with branding

Export Location:

  • Button in each management section
  • Admin dashboard has "Generate Monthly Report" button
  • Exports download directly to admin's device

12. Development Phases

Phase 1: Core Setup (Week 1)

  • Laravel 11.x project setup
  • Database schema design and migration
  • Authentication system implementation
  • Admin and client role implementation
  • Bilingual support infrastructure (Arabic/English)
  • RTL/LTR layout switching
  • Base UI/UX framework with brand colors

Phase 2: User Management (Week 1-2)

  • Admin creates user accounts (individual/company)
  • User type conversion functionality
  • User profile views
  • Password management by admin
  • Account deactivation/deletion logic
  • Email notifications for account creation
  • User search and filtering

Phase 3: Booking System (Week 2-3)

  • Calendar interface with availability display
  • Working hours configuration
  • Booking request flow
  • Admin approval workflow
  • Consultation type assignment (free/paid)
  • Email notifications (booking confirmations, reminders)
  • Calendar file generation (.ics)
  • Payment status tracking (offline)
  • 1 consultation per day per client validation
  • 15-minute buffer time implementation

Phase 4: Timeline System (Week 3-4)

  • Create timelines for clients
  • Add/edit timeline updates
  • Client timeline view (read-only)
  • Archive/unarchive functionality
  • Email notifications for updates
  • Multiple timelines per client support

Phase 5: Posts System (Week 4)

  • Admin post creation with rich text editor
  • Public posts display
  • Edit/delete functionality
  • Search functionality
  • Draft saving

Phase 6: Dashboards (Week 5)

  • Admin dashboard with overview and analytics
  • Client dashboard with overview
  • Statistics and charts
  • Quick action interfaces
  • Export functionality (CSV, PDF)

Phase 7: Design & Branding (Week 5-6)

  • Logo integration and brand identity implementation
  • Professional design implementation (navy blue & gold)
  • UI/UX refinement
  • Responsive design testing
  • RTL/LTR layout perfection
  • Email template design
  • Terms of Service and Privacy Policy pages

Phase 8: Testing & Deployment (Week 6-7)

  • Functional testing
  • Security testing
  • Cross-browser testing (Chrome, Firefox, Safari, Edge)
  • Mobile responsiveness testing (iOS, Android)
  • Email template testing
  • Export functionality testing
  • User acceptance testing (UAT) with client
  • Production deployment on Rocky Linux 9
  • SSL certificate configuration
  • Final review and adjustments

13. Success Criteria

13.1 Functional Success

  • Admin can manage all users efficiently
  • User type conversion works seamlessly
  • Account deactivation/deletion functions correctly
  • Booking system handles appointments smoothly with 1-per-day limit
  • Clients can easily request consultations
  • Timeline system tracks cases effectively (multiple per client)
  • Email notifications delivered reliably from no-reply@libra.ps
  • Both languages work flawlessly with proper RTL/LTR
  • Posts are searchable and manageable
  • Analytics display accurate data
  • Exports generate correctly (CSV, PDF)

13.2 Design Success

  • Professional, polished appearance with navy blue and gold branding
  • Logo properly integrated throughout
  • Easy to use for non-technical users
  • Positive feedback from lawyer/admin
  • Mobile experience is seamless
  • Brand identity properly reflected in all elements

13.3 Technical Success

  • Stable performance under normal load
  • Secure data handling with encryption
  • No critical bugs
  • Fast page load times (< 3 seconds)
  • Compatible with major browsers
  • Proper RTL/LTR functionality
  • Email delivery is reliable
  • Exports complete within reasonable time

14. Open Items / Future Discussion

14.1 Timeline System Enhancements (Future)

  • Private admin notes feature (not visible to client)
  • Timeline status types beyond active/archived
  • Document attachment capability

14.2 Post-Launch Items

  • Admin training on dashboard usage
  • User documentation (client guide)
  • Maintenance and update plan
  • Feature enhancements based on usage feedback
  • Cookie consent implementation (if needed)
  • Advanced SEO for posts (meta tags, custom URLs)

14.3 Potential Future Features

  • Native mobile apps (iOS/Android)
  • Online payment gateway integration
  • Post categories and tagging
  • Advanced analytics and business intelligence
  • Multi-admin support
  • Client self-service password reset (with admin approval)
  • SMS notifications
  • Video consultation integration

15. Assumptions & Constraints

15.1 Assumptions

  • Client will provide logo in vector format (SVG preferred)
  • Email server configuration will be provided with working credentials
  • Rocky Linux 9 server infrastructure is ready and accessible
  • Domain (libra.ps) is registered and DNS configured
  • SSL certificate will be obtained and configured by client team
  • Server has sufficient resources for MariaDB, PHP 8.2+, and Laravel 11
  • Admin has basic computer literacy for dashboard usage

15.2 Constraints

  • Single admin user (no multi-admin support needed)
  • No online payment processing
  • Text-only content in timelines and posts (no document uploads)
  • Client-managed hosting infrastructure
  • No self-registration for clients
  • No password reset for clients (admin only)
  • Simple analytics (no complex BI tools)
  • Web-only platform (no native mobile apps)
  • Maximum 1 consultation per client per day
  • All email notifications are mandatory (no opt-out)

16. Appendices

16.1 Database Schema Overview

Key Tables:

  1. users

    • id, user_type (individual/company), full_name, national_id, company_name, company_cert_number, contact_person_name, contact_person_id, email, phone, password, status (active/deactivated), preferred_language, created_at, updated_at
  2. consultations (bookings)

    • id, user_id, booking_date, booking_time, duration (45 min), problem_summary, consultation_type (free/paid), payment_amount, payment_status (pending/received), status (pending/approved/rejected/completed/no-show/cancelled), admin_notes, created_at, updated_at
  3. timelines

    • id, user_id, case_name, case_reference, status (active/archived), created_at, updated_at
  4. timeline_updates

    • id, timeline_id, admin_id, update_text, created_at, updated_at
  5. posts

    • id, title (bilingual), body (bilingual), status (draft/published), created_at, updated_at
  6. working_hours

    • id, day_of_week, start_time, end_time, is_active
  7. blocked_times

    • id, block_date, start_time, end_time, reason
  8. notifications

    • id, user_id, type, title, body, read_at, sent_at, created_at
  9. admin_logs (audit trail)

    • id, admin_id, action, target_type, target_id, old_values, new_values, ip_address, created_at

16.2 API Endpoints (Internal)

  • Not applicable (Blade-based application, not API-driven)
  • All interactions server-side through Laravel routes and controllers

16.3 Third-Party Dependencies

Frontend:

  • Bootstrap 5.3+ (CSS framework with RTL support)
  • Chart.js (for analytics charts)
  • FullCalendar.js or similar (for booking calendar)
  • Rich text editor (e.g., TinyMCE or Quill)

Backend:

  • Laravel 11.x framework
  • Laravel Mail (email sending)
  • Laravel Notifications
  • maennchen/zipstream-php (for generating ICS calendar files)
  • barryvdh/laravel-dompdf (for PDF exports)
  • league/csv (for CSV exports)

Fonts:

  • Google Fonts: Cairo/Tajawal (Arabic), Montserrat/Lato (English)

Icons:

  • Bootstrap Icons or Feather Icons

17. Approval & Sign-off

Document Prepared By: Development Team
Version: 1.1
Last Updated: December 20, 2025

Review Date: _________________________
Client Approval: _________________________
Development Team Lead: _________________________


18. Change Log

Version Date Changes Author
1.0 Nov 26, 2025 Initial PRD creation Development Team
1.1 Dec 20, 2025 Added brand identity section, clarified booking rules (1/day, 45min), multiple timelines, account management (deactivate/delete), exports, analytics, Terms/Privacy pages Development Team

END OF DOCUMENT