FFFF
Skip to content

lukeryannetnz/assignment-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course Manager

Course Manager is a Laravel 12 application for enterprise learning and workforce enablement. The platform is focused on helping organizations identify skill gaps, assign targeted learning, and track outcomes with governance and reporting built in.

Course Manager screenshot

Product Context

  • Strategy: enterprise-first B2B SaaS for learning, skills, governance, and outcomes.
  • Primary customers: mid-market and enterprise organizations with active reskilling programs.
  • Primary users: L&D admins, HR business partners, managers, and learners.
  • Current platform emphasis: multi-tenancy, organization hierarchy, RBAC foundation, course and curriculum management, enrollment workflows, skills intelligence foundation, and enterprise administration groundwork.

Read the product documents for the fuller picture:

The full PRD index lives in the documentation map below and under docs/product/prd.

Architecture

The repository is organized domain-first. Laravel remains the application shell, while business-owned code lives under domains/*. Architectural decisions and implementation patterns are documented in the ADRs linked below.

Requirements

  • PHP 8.2+
  • Composer
  • Node.js and npm
  • Docker / Docker Compose
  • MariaDB

Getting Started

1. Install dependencies and bootstrap the app

composer setup

This installs dependencies, prepares the environment, runs migrations, and builds frontend assets.

2. Start MariaDB

docker-compose up -d

The default local database settings in .env.example target the MariaDB container defined in docker-compose.yml.

3. Start the development stack

composer dev

This starts the Laravel server, queue worker, Pail log viewer, and Vite dev server together.

Developer Workflow

Required checks

Before finishing code changes, run:

composer test

composer test runs:

  1. phpcs
  2. phpstan
  3. php artisan config:clear
  4. php artisan test

You can run the quality tools individually when iterating:

composer lint
composer phpcs
composer phpstan
composer lint:fix

More detail lives in LINTING.md.

PHP guidelines

  • Use declare(strict_types=1); in PHP files.
  • Prefer simple, explicit code and typed contracts.
  • Follow the repository ADRs before introducing new patterns.
  • Keep feature behavior covered with PHPUnit tests.

Documentation Map

Product

Architecture

Security and Compliance

Notes

  • The repository started as part of a Laravel training project and has since been reshaped into an enterprise product codebase.
  • If you materially reshape domain ownership, update this README and the relevant ADR documentation in the same change.
  • The Skills domain now anchors role-to-skill mapping UI scaffolding for the Pillar 1 rollout.

About

A Laravel-based course management system. This application was created as part of the Coursera Master Full-Stack Web Development with Laravel & PHP course.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

0