Context Expert System Design
Project: Context Expert Management System
Developed for: Context Expert Agencies
1. High-Level System Design
1.1. System Overview
The Context Expert Service & Order Management System is a robust, full-stack web
platform designed to streamline how clients interact with the company’s services and
how admins manage internal workflows, including attachee assignments. The system
supports three main user types:
Clients – request services and track their orders
Attachees – view and complete assigned tasks
Admins – manage users, services, and assignments
The system is designed with Agile methodology, focusing on incremental feature
delivery through short, focused development cycles/sprints. Each feature is developed,
tested, and reviewed in iterations to allow for flexibility and client feedback.
1.2. System Architecture
Technology: Stack
Layer: Technology
Frontend: Next.js
Backend API: PHP
Database: PostgreSQL
File Storage: AWS S3
Auth: JWT for session management
Deployment : Heroku
1.3. Core Functional Modules
Module : Description
User Management: Registration, login, and role-based access (admin, attachee,
client).
Service Catalog: A browsable list of available services with details, images,
and pricing.
Order Placement: Clients can request services, including details and
attachments.
Order Assignment: Admin can assign orders to attachees based on availability
or skills.
Task Tracking: Attachees can update task progress and submit deliverables.
Messaging System: Admins, clients, and attachees can communicate regarding
orders.
Reporting Dashboard: Admins view system reports like order statuses, attachee
performance, etc.
Notifications: System-generated alerts on assignment, updates, or task
completion.
1.4 Data Flow Diagram
1.5. User Roles & Permissions
Role : Access Permissions
Admin: Full system control manage services, users, assignments, reports
Attachee : View assigned tasks, update progress, communicate with admin
Client: Browse services, make requests, track orders, send feedback
2. Low-Level System Design
Users Table
id, name, email, password, role, phone, profile_image, created_at, updated_at
Services Table
id, title, description, category, price, image_url, created_at, updated_at
Orders Table
id, client_id, service_id, status, details, assigned_to, deadline, created_at,
updated_at
Task Updates Table
id, order_id, attachee_id, update_note, progress_percent, created_at
Messages Table
id, sender_id, receiver_id, content, seen, created_at
Reports Table
id, title, report_type, data, created_by, created_at
Attachments Table
id, order_id, file_name, file_url, uploaded_by, uploaded_at
3. Agile Workflow Integration
To ensure flexibility and continuous improvement, the system is being developed using
Agile methodology. The development is organized into weekly sprints, each focusing on
implementing a specific set of features. At the start of each sprint, goals are clearly
defined, and progress is tracked daily through short stand-up meetings.
Tasks are broken down into manageable units and prioritized based on business value and
user needs. Key areas of focus across sprints include:
User authentication and role-based access
Service catalog display and filtering
Order placement and task assignment workflows
Attachee progress tracking
Real-time notifications
Final system testing and deployment
For collaboration and version control, the team uses GitHub to manage the codebase. The
frontend and backend APIs are hosted using Heroku for easy staging and production
releases.
4 . Authentication Logic
On login, backend verifies credentials and issues a JWT token.
Token is stored on the frontend and sent with every protected API request.
Role-based middleware on the backend ensures only authorized users access
certain routes.
5. Order Assignment Logic
Admin selects an order and views list of available attachees.
Once assigned, the order status changes to assigned, and the attachee gets a
notification.
Attachees can then update progress from their dashboard.
6. API Endpoints
POST /api/login
POST /api/orders
PUT /api/orders/assign
7. Future Enhancements
- Email/SMS notifications
- Attendance tracking for attachees
- Review and rating system
- Analytics dashboard with graphs