Drupal + React + Next.js + TailwindCSS

Come check out my Drupal + React + Next.js + TailwindCSS project and details.

 

Link:

https://francisco-universe-dkanfrontend.vercel.app


Github:
https://github.com/franciscojavierguardado101/Francisco-universe-dkanfrontend

What the Project Is                                                                                        
                                                                                                             
  A full-stack open data portal built with Drupal 11 + DKAN 4.1.2 as the CMS/API backend, and a Next.js 16   
  frontend that consumes it. Designed to demonstrate government/civic tech skills — the kind of stack used at
   agencies like USDA, cities, and organizations running open data catalogs.                                 
                                                                                                           
  ---
  Backend — Drupal 11
                     
  - Drupal 11.3.3 — content types; taxonomy; roles & permissions; config management; hook system
  - DKAN 4.1.2 — open data catalog: metastore; datastore; search indexing; data dictionaries; distributions  
  - JSON:API — headless CMS API consumed by Next.js frontend                                                 
  - REST API / DKAN Metastore API — custom dataset endpoints                                                 
  - Simple OAuth 6.1.1 — OAuth 2.0 client credentials flow with RSA key pairs for API authentication         
  - OpenID Connect 3.x — Google OAuth 2.0 SSO login for Drupal admin users                                   
  - Content Moderation / Workflows — custom editorial workflow (Draft; In Review; Needs Revision; Approved;  
  Published; Archived) with 3 editorial roles (content_creator; editor; publisher)                           
  - Search API + Search API DB — DKAN dataset indexing and catalog search                                    
  - Composer — Drupal dependency management                                                                  
                                                                                                           
  ---                                                                                                        
  Custom Drupal Modules (30+)                                                                              
                                                                                                             
  - help_guide — injects contextual ? help icons on admin forms via hook_form_alter; opens off-canvas
  dialogs; supports content entities; config entities; and config forms                                      
  - api_explorer — API exploration interface                                                               
  - image_ratio — image aspect ratio toolbar control                                                         
  - inventory_manager — dataset/content inventory management                                               
  - site_health_monitor — site health monitoring with Playwright integration                                 
  - datagrid — data grid display component
  - dimension — custom content type/dimension management                                                     
  - medical_billing; medical_bills; travel_reimbursement — form-based civic app modules for billing and    
  reimbursement workflows                                                                                    
  - pet_management — CRUD form module                                                                      
  - interactive_facts — dynamic facts display                                                                
  - hero_overlay; focus_block; headline; content_grid — layout and display blocks                          
  - flow_slider; continuum_carousel; thumbnail_carousel — custom slider/carousel components                  
  - workshop_series_display — content series display                                                         
  - project_showcase — portfolio showcase block                                                              
  - galaxy_admin_styling — admin UI theming overrides                                                        
  - francisco_components — shared component library                                                          
  - clc_focal_point; phpunit_resolve; phpunit_tester; playwright_tester; francisco_tests — testing and QA  
  infrastructure                                                                                             
                                                                                                           
  Custom module skills demonstrated: hook_form_alter; hook_theme; hook_preprocess; off-canvas dialogs; custom
   entities; config entities; admin forms; JS integration; Drush commands                                  

  ---
  Custom Theme — Galaxy
                       
  - Fully custom Drupal theme with Twig templates (node--data.html.twig for DKAN dataset nodes); custom
  preprocess hooks decoding field_json_metadata for dataset display; custom CSS; admin styling overrides     
   
  ---                                                                                                        
  Frontend — Next.js 16                                                                                    
                       
  - Next.js 16 with App Router; React 19; TypeScript 5; Tailwind CSS 4
  - Server Components — dataset pages are fully server-rendered                                              
  - Client Components — paginated data preview table (DatastoreTable)
  - DKAN API client (src/lib/dkan.ts) — getDataset; getDatasets; queryDatastore; getDataDictionary           
  - Drupal JSON:API client (src/lib/drupal.ts)                                                             
  - API Proxy Route — Next.js route handler proxying DKAN datastore queries to avoid CORS/TLS issues         
  - Dataset catalog page — category sidebar + search
  - Dataset detail page — mirrors the Drupal Twig template: hero; distribution cards; data preview; data     
  dictionary; metadata table                                                                               

  ---
  Infrastructure & DevOps
                         
  - DDEV — local Docker-based Drupal dev environment with custom PHP/MySQL config
  - Pantheon — cloud hosting for Drupal; handled Pantheon-specific constraints (no LOAD DATA LOCAL INFILE;   
  filesystem restrictions)
  - Terminus — Pantheon CLI for remote Drush; deployment; and database management                            
  - Git — multi-remote setup (Pantheon SSH remote + Drupal.org remote); branch strategy (drupal-main → master
   on Pantheon)                                                                                              
  - Drush — Drupal CLI for config imports; cache rebuilds; DKAN datastore management; queue processing
                                                                                                             
  ---                                                                                                      
  Testing
         
  - Playwright — 16 end-to-end test specs covering navigation; authentication; accessibility (a11y); custom
  module UI; Drupal content; responsive layout; form field validation (medical billing; pet management;      
  travel reimbursement); and civic app workflows
  - PHPUnit — PHP unit testing infrastructure for custom modules                                             
  - Custom test modules — phpunit_resolve; phpunit_tester; playwright_tester; site_health_monitor_playwright

  ---
  Key Skills to Highlight for Recruiters
                                        
  1. Headless/decoupled Drupal — JSON:API + Next.js App Router
  2. Open data standards — DKAN; metastore; datastore; data dictionaries; DCAT-compliant datasets            
  3. OAuth 2.0 / OpenID Connect — both machine-to-machine (client credentials) and user SSO (Google)
  4. Custom Drupal module development at scale — hooks; entities; config entities; admin UX                  
  5. Custom Twig theming with preprocess hooks                                                               
  6. Editorial workflow design — multi-role content moderation
  7. Full-stack TypeScript — typed API clients; Server/Client component boundary management                  
  8. End-to-end testing with Playwright and PHPUnit                                                        
  9. Cloud hosting and DevOps — Pantheon; DDEV; Terminus; multi-remote Git
  10. Civic/government tech domain — the exact stack used in real open data portals at city and federal
  agencies