Skip to content

plastikaweb/plastikspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,068 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Plastikspace

plastikaweb

Modern Angular Experimentation Lab

A personal multi-repository to explore Nx, Angular 21, and cutting-edge web technologies

Deploy Staging Coverage Ask DeepWiki

Nx Angular 21 TailwindCSS 4 Signals Firebase PocketBase Apollo-GraphQL

Commitizen friendly tested with vitest GitHub Actions Accessibility


πŸš€ Tech Stack Highlights

  • Framework: Angular 21 (Standalone Components, Signals, SSR, Hydration)
  • Monorepo Tooling: Nx (Project Graph, Distributed Task Execution)
  • Styling: Tailwind CSS 4
  • State Management: NgRx Signal Store
  • Backend Integrations:
    • Firebase: Real-time DB, Auth, and Cloud Functions (llecoop)
    • PocketBase: Lightweight Go backend (eco-store)
    • GraphQL: Apollo Client integration (plastikaweb)
  • Quality Assurance: Vitest, Cypress, Pa11y (Accessibility), ESLint

πŸ—οΈ Architecture

This project follows a Domain-Driven Design (DDD) approach within an Nx workspace.

graph TD
    subgraph Applications
        Apps[Any Application]
    end

    subgraph Libraries
        direction TB
        AppSpecific[App Specific Libs]
        Shared[Shared Libs]
        Core[Core Libs]
    end

    Apps --> AppSpecific
    Apps --> Shared
    Apps --> Core

    AppSpecific --> Shared
    AppSpecific --> Core
    Shared --> Core
Loading

For more details, see the πŸ›οΈ NX Architecture Guide.


πŸ“₯ Getting Started

Prerequisites

  • Node.js: v22 (see .nvmrc)
  • Yarn: v4+
  • rimraf: npm install -g rimraf (required for clean scripts)

Installation

  1. Clone the repo

    git clone git@github.com:plastikaweb/plastikspace.git
    cd plastikspace
  2. Full Environment Setup

    node tools/scripts/setup-local.js

    πŸ’‘ Intelligent Setup: This command is the recommended way to start the repository. It performs a full workspace cleanup, installs dependencies, and checks for the PocketBase binary used in eco-store app.


πŸ”§ Development Commands

Running Applications (Full Local Environment)

Some apps require a backend to be running. These commands start both:

Command Description
yarn eco-store:local Starts PocketBase + eco-store frontend
yarn llecoop:local Starts Firebase Emulators + llecoop frontend
yarn nasa-images:serve Starts the NASA image gallery
yarn plastikaweb:serve Starts the personal website

Common Nx Tasks

  • Test Everything: yarn test:all
  • Lint Everything: yarn lint:all
  • Visualize Workspace: yarn dep-graph
  • Affected Changes: nx affected:test

πŸ“˜ Documentation & Standards

Resource Description
🎨 Code Style ESLint, Prettier, and Angular best practices
πŸ“ Commit Guide Conventional Commits & Commitizen usage
β™Ώ Accessibility WCAG compliance and Pa11y testing
🌐 I18n Guide ngx-translate and multi-language support
πŸ’… CSS Styling Tailwind 4 configuration and presets

πŸ“± Applications Overview

Application Stack Description
eco-store PocketBase, Signals Modern e-commerce showcase.
llecoop Firebase, NgRx Collaborative shopping application.
nasa-images Public API, Material NASA imagery explorer.
plastikaweb GraphQL, Apollo Personal portfolio & blog.

πŸ“š Libraries

🧩 Core

Foundation libraries used across applications.

API and Data Access

Utilities

UI and Layout

πŸ”„ Shared

Reusable features and UI components.

Signal State (NgRx Signal Store)

Auth

UI Components

Utilities


☁️ Nx Cloud Configuration & CI Strategy

This monorepo uses a dual caching and testing strategy to optimize performance and quality.

  • Caching: Leverages local disk cache for development and Nx Cloud for CI sharing.
  • CI Strategy: Fast feedback on Pull Requests (affected only) and full validation on develop to maintain global quality metrics.

For detailed technical information, see the Git Flow and CI/CD Guide.


πŸ“¬ Contact

Carlos Matheu Armengol

LinkedIn

πŸ“§ info@plastikaweb.com 🌐 www.plastikaweb.com