Back to buildsBUILD RECORD

MyPortfolio / Portfolio-CMS learning project / 2024

Moving portfolio content out of page templates.

MyPortfolio uses Laravel records for project details and reusable technology associations, letting admin edits change content without changing its Blade rendering.

THE WORK

The project.

This earlier Laravel coursework turns portfolio projects into editable content. Admin forms maintain their categories, roles, links, images and status, while separate associations connect projects to reusable language and framework records. The public pages read that data through controllers, so an updated project description or technology list doesn't require a template change. It's a separate CMS study from The Tesseract Memory.

IMPLEMENTATION

Design choices.

  1. Keeping project content in models separates editorial changes from presentation changes. Blade renders the current records without owning their written details.
  2. Reusable technology records make project associations queryable and avoid embedding a comma-separated technology list in each description.
  3. A stored contact message can be reviewed even without email dispatch. The current success wording needs to distinguish that saved record from a message actually sent by email.

HOW IT FITS TOGETHER

Architecture.

  • Administrative resource controllers write projects and their related content. Language and framework associations connect each project to shared technology records rather than repeating a display string in every project.
  • The public home controller selects active projects for Blade. The project modal resolves an individual project with its category through a separate lookup, so its visibility conditions need checking independently.
  • The contact action accepts a validated request and saves a ContactMessage row for the administrative list. Its email call is commented out: storage is implemented, delivery isn't.

MADE WITH

PHP · Laravel 10 · Blade · Eloquent · DataTables

CHECKS & RESULTS

What was checked.

A source review shows what the code does. It is not a fresh test of the running app.

  1. Code and development records reviewedReviewed

    The code, tests and available development records were checked. Reported test results keep their original scope. No fresh app or live deployment check was run for this write-up.

    Scope of this check
    Code review, not a fresh run of the app

NEXT

Still to work through.

The source supports content editing and contact storage, not verified email delivery. Individual project visibility and image cleanup still need checking. This remains an earlier coursework CMS, distinct from the publishing system behind my current portfolio.