MockDasher is a modern, premium SaaS platform tailored for IELTS preparation. It provides students with full-length mock tests spanning all four modules (Listening, Reading, Writing, and Speaking), detailed test history tracking, and analytics to visualize band score progression.
- Comprehensive Mock Tests: Simulates real IELTS exams with timed, module-based progression.
- Dynamic Dashboards: Provides personalized test recommendations, score analysis, and progress charts using 100% dynamic data binding.
- Robust Architecture: Employs Service layers to decouple high-complexity logic from controllers, prioritizing clean, scalable MVC execution.
- Secure by Default: Utilizes strict Laravel FormRequests for structural validation and authorization logic.
- Premium UI: Stripe-level SaaS aesthetics featuring glassmorphism, responsive navigation, and intuitive empty states.
This project strictly adheres to the following frontend principles:
- Strict CSS Centralization: NO inline
<style>tags or nativestyle="..."attributes are allowed. All custom utility overrides and global variables must be exclusively located inresources/css/app.cssor achieved via Tailwind classes and Alpine.js:stylebindings. - 100% Dynamic Data Binding: No hardcoded or "mock" text (e.g., "John Doe", "Lorem Ipsum") is permitted. All data representations, loops, tables, and media flow directly from the database or configurations.
- Empty States Required: Any looped data (
@forelse) or dynamic condition must include an engaging empty state ("No records found") for a flawless user experience. - Configuration & Language Driven: Static UI labels (like "Dashboard", "Submit") are abstracted into Laravel's language files (
__('messages.key')) for seamless localization and scalability. - Component Reliability: All buttons, forms, and links must be fully functional. Forms require
@csrf,@error, andold()inputs. Links must map to valid namedroute()instances natively.
Ensure your local development environment meets the following requirements:
- PHP 8.2 or higher
- Composer v2+
- Node.js & NPM (for compiling frontend assets)
- MySQL 8.0+ or another preferred equivalent relational database
-
Clone the repository:
git clone https://github.com/prayangshuuu/MockDasher cd MockDasher -
Install PHP Dependencies:
composer install
-
Install & Build Frontend Assets (Vite):
npm install npm run build
-
Environment Setup: Duplicate the
.env.examplefile and configure your local environment variables.cp .env.example .env
Crucial
.envvalues to set:DB_DATABASE,DB_USERNAME,DB_PASSWORD -
Generate Application Key:
php artisan key:generate
-
Run Migrations & Seeders: Prepare your database schema and insert default test data.
php artisan migrate --seed
-
Link Storage: Ensure public disk assets (like profile photos or test audio files) are accessible.
php artisan storage:link
-
Serve the Application:
php artisan serve
Your application is now accessible at
http://localhost:8000.
After running the seeders (php artisan db:seed), you can access the platform using these default accounts:
| Role | Password | |
|---|---|---|
| Admin | admin@prayangshu.com |
password |
| User | user@prayangshu.com |
password |
To deploy MockDasher to a production server:
- Environment Config: Set
APP_ENV=productionandAPP_DEBUG=falsein.env. - Build Assets: Ensure
npm run buildis executed for production assets. - Optimize Laravel:
php artisan optimize php artisan view:cache php artisan event:cache
- Permissions: Ensure
storageandbootstrap/cacheare writable.