Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
88502e4
Fix: Regenerate package-lock.json for Azure deployment
AMackProjekt Jan 14, 2026
8bac7b1
Fix: ESLint compatibility, TypeScript checks, and quote escaping for …
AMackProjekt Jan 14, 2026
d50fceb
Fix: Reduce deployment size - exclude .next and out from git, deploy …
AMackProjekt Jan 14, 2026
3713300
Fix: Update deployment path and add directory listing for debugging
AMackProjekt Jan 14, 2026
b8f8033
Add Amazon book link to 'View on Amazon' button
AMackProjekt Jan 14, 2026
98f5dee
Remove QR code from contact section and add contact email details
AMackProjekt Jan 14, 2026
a2a08c1
Add reentry services page, update partnerships, add cyberpunk footer,…
AMackProjekt Jan 15, 2026
6bdfdf6
Update mentorship logo to KingMe and fix inline style linting errors
AMackProjekt Jan 15, 2026
1033854
Add Azure Functions backend API with health/readiness endpoints, proj…
AMackProjekt Jan 15, 2026
a1c84fc
Add QR code to interest form, mobile optimizations for navbar and cha…
AMackProjekt Jan 15, 2026
87c8ef9
Update homepage KPIs (Case Mgmnt, Resources), simplify interest form …
AMackProjekt Jan 15, 2026
4eff945
Fix ESLint errors - escape apostrophes
AMackProjekt Jan 15, 2026
1ca7dfc
Update version to 1.1.0 and fix build by excluding api/data-factory/p…
AMackProjekt Jan 15, 2026
49d3f7f
Initial plan
Copilot Jan 15, 2026
fd1d253
Implement core MackAi infrastructure and modules
Copilot Jan 15, 2026
fbd90c7
Add Azure Functions API endpoints for MackAi
Copilot Jan 15, 2026
ad80b89
Add comprehensive MackAi implementation documentation
Copilot Jan 15, 2026
2ebf176
Add social media integration and FREE SEO implementation guide
AMackProjekt Jan 16, 2026
953c1d1
Add social media automation system and SEO enhancements
AMackProjekt Jan 16, 2026
2d3fc94
Initial plan
Copilot Jan 17, 2026
1cb8cd4
feat: implement performance optimizations and health monitoring
Copilot Jan 17, 2026
058f1ff
docs: add comprehensive documentation and verification script
Copilot Jan 17, 2026
78f8fef
fix: address code review feedback
Copilot Jan 17, 2026
5d679d5
docs: add implementation summary and final sign-off
Copilot Jan 17, 2026
380dbc0
Add screenshot to README
AMackProjekt Jan 17, 2026
7cd7bf8
Initial plan
Copilot Jan 18, 2026
4310df6
Add @types/mssql to fix TypeScript build error
Copilot Jan 18, 2026
3928714
feat: Add comprehensive resource management system with Google Sheets…
AMackProjekt Jan 18, 2026
2801e5e
fix: Update dependencies and resolve security vulnerabilities
AMackProjekt Jan 18, 2026
e988c2f
fix: Resolve TypeScript type mismatches between Resource and SheetRes…
AMackProjekt Jan 18, 2026
55f3e42
feat: Add comprehensive client details page with tabs for overview, n…
AMackProjekt Jan 18, 2026
eb85613
feat: Add production-ready file upload/download system with export ca…
AMackProjekt Jan 18, 2026
4d47eb6
feat: Add portal sign-in links for existing users
AMackProjekt Jan 18, 2026
3a4a3c6
feat: Add AI Coach with motivational and inspirational coaching
AMackProjekt Jan 18, 2026
3edf60e
feat: Add Program Interest form for organizations to schedule demos
AMackProjekt Jan 18, 2026
39d6d41
feat: Add 30/60/90-Day Program tracking for case managers
AMackProjekt Jan 18, 2026
0db4e4e
fix: Repair corrupted code in client details page
AMackProjekt Jan 18, 2026
91be31d
feat: Add Daily/Weekly Journal with emotional wellness tracking
AMackProjekt Jan 18, 2026
a41abeb
feat: Add Windows installer build configuration (MSI/EXE)
AMackProjekt Jan 18, 2026
18bf512
Merge pull request #9 from AMackProjekt/copilot/add-typescript-defini…
AMackProjekt Jan 19, 2026
840a622
Upgrade eslint version to ^9.0.0
AMackProjekt Jan 19, 2026
18f165a
Initial plan
Copilot Jan 26, 2026
8c486cc
Add founder contact information with navigation links
Copilot Jan 26, 2026
0dca08a
Merge pull request #11 from AMackProjekt/copilot/add-founder-contact-…
AMackProjekt Jan 26, 2026
465a164
Initial plan
Copilot Jan 26, 2026
16ccf24
Initial commit - Start admin portal implementation planning
Copilot Jan 26, 2026
854fa6c
feat: Add admin portal foundation - auth, dashboard, and utilities
Copilot Jan 26, 2026
1600b98
feat: add admin users API endpoint with RBAC and audit logging
Copilot Jan 26, 2026
47a22a6
Add admin assignments API endpoint
Copilot Jan 26, 2026
713f580
Add production-ready admin audit API endpoint with export and permiss…
Copilot Jan 26, 2026
d90562c
Add admin roles API endpoint with full CRUD and permission management
Copilot Jan 26, 2026
1492ab2
Fix role name validation to check trimmed length consistently
Copilot Jan 26, 2026
b5912d0
Create admin reports API endpoint with dashboard, user activity, assi…
Copilot Jan 26, 2026
eee451c
Initial plan
Copilot Jan 26, 2026
2dc4078
Add shared-config package, portal-hub app, and infrastructure configs
Copilot Jan 26, 2026
b26acd7
Update Navbar with My Portals link and verify builds
Copilot Jan 26, 2026
9d7e3e2
Add shared-config README documentation
Copilot Jan 26, 2026
b9ae061
Address code review feedback: Add TypeScript types, fix env handling,…
Copilot Jan 26, 2026
c193cc5
feat: Complete admin portal with UI components, pages, and documentation
Copilot Jan 26, 2026
4c5d13d
Merge pull request #13 from AMackProjekt/copilot/add-portal-integrati…
AMackProjekt Jan 27, 2026
31d2653
Merge pull request #12 from AMackProjekt/copilot/add-admin-portal-str…
AMackProjekt Jan 27, 2026
667e92f
Merge pull request #3 from AMackProjekt/copilot/create-mackai-ai-system
AMackProjekt Jan 27, 2026
66c2b42
chore: add dependency update script and update vscode settings
Jan 28, 2026
f5bd015
feat: add My Portals page with client, case manager, and admin portal…
Jan 28, 2026
3e128f3
feat: add video demo hub with production guide for 4 demo videos (20-…
Jan 28, 2026
996d6d1
feat: add demo scripts with detailed timing and recording instructions
Jan 28, 2026
2e71070
docs: add comprehensive demo setup completion summary
Jan 28, 2026
7c874f9
feat: create 4 self-playing animated demos ready for screen recording
Jan 28, 2026
a4b15f6
feat: reorganize navbar - move sign in to My Portals, add newsletter …
Jan 28, 2026
bf562f4
refactor: remove internal recording/production guide from public demo…
Jan 28, 2026
9d186fa
feat: update view platform demo button to link to /demos
Jan 28, 2026
463db10
feat: add admin portal authentication and setup flow with email verif…
Jan 28, 2026
aab47ac
docs: add SharePoint site design and HTML content for T.O.O.L.S Inc
Jan 28, 2026
b56ebdf
fix: update Button and GlowCard components to support onClick and add…
dmack Jan 29, 2026
a033f5b
feat: add complete Supabase authentication with Azure OAuth and Email…
dmack Jan 29, 2026
dce582c
feat: add MackAi 2.0 Chat UI and helper agent configurations
dmack Jan 29, 2026
2965e00
chore: ignore electron dist folders
dmack Jan 29, 2026
3df7a75
wip: add reset flows, monitoring, and supabase hooks
dmack Jan 30, 2026
9dcce7a
feat: migrate client and admin portals to live Supabase + Azure AD au…
Jan 30, 2026
97aa35f
docs: add Supabase migration completion guide with deployment checklist
Jan 30, 2026
a3a4a6e
feat: update Supabase credentials and add dependency
Jan 30, 2026
0c93ee9
merge: accept remote auth implementation
Jan 30, 2026
60d6e85
chore: inject Supabase secrets from GitHub Actions
Jan 30, 2026
0239be1
fix: disable submodules in workflow (broken .gitmodules reference)
Jan 30, 2026
00a5f85
feat: implement role-based portal routing system
Jan 30, 2026
9c63eb2
feat: build comprehensive course management system with programs, fil…
Jan 30, 2026
7cb10e3
feat: implement production database integration
Jan 30, 2026
019f512
docs: add production deployment guides
Jan 30, 2026
61f15e6
fix: add AuthProvider to portal layout
Jan 30, 2026
32f7d94
fix: enable static export in Next.js config - Required for Azure Stat…
Jan 30, 2026
ae05799
fix: add dynamic=force-static to all API routes for static export com…
Jan 30, 2026
6306bb7
fix: remove app/api routes - use Azure Functions instead for static e…
Jan 30, 2026
0210671
fix: disable static export and use server-side rendering for Azure de…
Jan 30, 2026
d34f091
feat: restore API routes for server-side rendering deployment
Jan 30, 2026
6bc29f2
fix: enable static export and fix auth pages for Azure deployment
Jan 30, 2026
061efc4
fix: remove OAuth callback route incompatible with static export
Jan 30, 2026
3a20e51
fix: add generateStaticParams to dynamic routes for static export
Jan 30, 2026
68cf56e
revert: remove generateStaticParams from client components
Jan 30, 2026
b473f08
chore: trigger redeploy with Azure environment variables configured
Jan 30, 2026
609bed5
fix: switch to standalone output for Azure App Service deployment
Jan 30, 2026
c24bccc
feat: add Azure App Service deployment workflow
Jan 30, 2026
892c88d
feat: switch to ZIP deploy method and implement live Supabase data fe…
Jan 30, 2026
71b5615
docs: add comprehensive deployment and quick start guides
Jan 30, 2026
effe2b9
fix: revert to static export and update deployment to Azure Static We…
Jan 30, 2026
ecfc857
docs: update quick start for Azure Static Web Apps
Jan 30, 2026
734f0d9
security: Remove exposed credentials and add 404 page
dmack Jan 31, 2026
a078fed
Merge branch 'main' of https://github.com/AMackProjekt/sdtoolsinc-web
dmack Jan 31, 2026
a46c61a
feat: enhance signup form with extended profile fields
dmack Jan 31, 2026
8b75346
docs: add comprehensive signup and profile management documentation
dmack Jan 31, 2026
f81eab3
feat: add First Steps Checklist, Second Chance Employers, and resourc…
dmack Feb 1, 2026
a647833
feat: integrate First Steps and Second Chance Employers into homepage…
dmack Feb 1, 2026
41e1c0c
feat: add favicon/icon configuration to browser tab
dmack Feb 1, 2026
57477f3
docs: comprehensive client portal feature audit
dmack Feb 1, 2026
39486bd
feat: phase 2 - enhanced profile with demographics/contact/certificat…
dmack Feb 1, 2026
2445fbe
feat: phases 3-4 - complete quiz system (75 questions), certificates,…
dmack Feb 1, 2026
dd68586
feat: add demo videos and course materials libraries
dmack Feb 1, 2026
51bf394
feat: activate demos and course materials
dmack Feb 1, 2026
3d76180
chore: clean up repository structure and remove legacy FluentUI files
dmack Feb 1, 2026
fee728c
fix: restore application files and fix npm vulnerabilities
dmack Feb 1, 2026
840fe25
chore: update dependencies to latest compatible versions
dmack Feb 1, 2026
64ba981
fix: resolve all portal and API vulnerabilities
dmack Feb 1, 2026
ef7b30a
Add production demo videos with FFmpeg
dmack Feb 1, 2026
d27ae1f
Fix mobile compatibility for Microsoft Forms
dmack Feb 1, 2026
85215ec
SEO optimization and Google Analytics integration
dmack Feb 1, 2026
4e964d4
Add authentication packages and optimize referral QR image
dmack Feb 1, 2026
4634a81
feat: Complete email verification and case manager portal implementation
dmack Feb 1, 2026
9367f48
✅ Flip the switch: 5 Azure Functions + authentication system ready to…
dmack Feb 1, 2026
1dbd530
🚀 Add PowerShell deployment script for Azure
dmack Feb 1, 2026
f93c1e5
Initial plan
Copilot Feb 1, 2026
3d1e42e
Generate favicon files and update layout.tsx configuration
Copilot Feb 1, 2026
9540332
chore: add Azure PowerShell suite installation script
dmack Feb 2, 2026
16b1ff0
fix: replace hardcoded localhost URLs with production Azure Static We…
dmack Feb 3, 2026
de2f71c
docs: add strategic priority audit for justice-involved user needs an…
dmack Feb 3, 2026
ae2cf2e
feat: privacy, audits, redirect timing, and shell integration
dmack Feb 3, 2026
e5e488c
Initial plan
Copilot Feb 7, 2026
d9117c5
Initial analysis and planning for portal upgrades
Copilot Feb 7, 2026
4668c6a
Phase 1: Create shared UI components foundation
Copilot Feb 7, 2026
6aaccac
Update Client Portal dashboard with enhanced UI components and features
Copilot Feb 7, 2026
af3f36b
Fix code review issues: merge duplicate menu items and correct border…
Copilot Feb 7, 2026
f624c1c
feat: upgrade Case Manager Portal with new features
Copilot Feb 7, 2026
34b3681
fix: change auth callback route to force-dynamic
Copilot Feb 7, 2026
96c5131
Add 4 new admin portal pages: user creation, assignments, system heal…
Copilot Feb 7, 2026
892c906
feat: upgrade admin portal with new pages and components
Copilot Feb 7, 2026
c18f391
fix: resolve build issues for static export
Copilot Feb 7, 2026
dd16f34
fix: address code review feedback - import ReactNode properly
Copilot Feb 7, 2026
ff8d839
docs: add comprehensive implementation summary
Copilot Feb 7, 2026
2a5478e
Add critical features: Google Analytics, favicons, file upload, insta…
Copilot Feb 7, 2026
d457d49
Merge pull request #19 from AMackProjekt/copilot/upgrade-portals-with…
AMackProjekt Feb 7, 2026
d894f05
Merge pull request #18 from AMackProjekt/copilot/update-favicon-files
AMackProjekt Feb 9, 2026
b967f62
Merge: Resolve conflicts from copilot/optimize-website-performance br…
dmack Feb 9, 2026
cbe593e
Fix layout merge markers
dmack Feb 9, 2026
020b98a
Initial plan
Copilot Feb 10, 2026
8e3be2b
Fix portal URLs and admin access restrictions, add user approval schema
Copilot Feb 10, 2026
af2619b
Add user approval API endpoints and UI components
Copilot Feb 10, 2026
805b5c0
Add portal configuration documentation and update README
Copilot Feb 10, 2026
d0fcf9e
Fix package.json syntax error (missing comma)
Copilot Feb 10, 2026
e580217
Fix SQL injection vulnerability in bulk approval endpoint
Copilot Feb 10, 2026
2b7e8e4
Security: Update Next.js to 16.1.5 to fix DoS vulnerability (CVE)
Copilot Feb 10, 2026
66b2b97
Docs: Add security update documentation and update version references
Copilot Feb 10, 2026
51ec763
CRITICAL: Add action required notice for package-lock.json update
Copilot Feb 10, 2026
67f43da
Merge pull request #20 from AMackProjekt/copilot/fix-portal-routing-a…
AMackProjekt Feb 10, 2026
8834289
Initial plan
Copilot Feb 10, 2026
f1cd4fe
Complete comprehensive PR analysis and resolution plans
Copilot Feb 10, 2026
0487ef8
Add PR documentation notice to README
Copilot Feb 10, 2026
a958380
Add visual PR status dashboard for quick reference
Copilot Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 0 additions & 2 deletions .env

This file was deleted.

40 changes: 40 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# ==============================================
# T.O.O.L.S Inc Portal Configuration
# ==============================================

# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key-here
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key-here

# Azure OAuth Configuration
NEXT_PUBLIC_AZURE_CLIENT_ID=your-azure-client-id
NEXT_PUBLIC_AZURE_TENANT_ID=your-azure-tenant-id
AZURE_CLIENT_SECRET=your-azure-client-secret

# Environment
NODE_ENV=development

# Portal URLs (Runtime - Configurable per environment)
# These URLs are used at runtime and can be different per deployment
NEXT_PUBLIC_MAIN_URL=https://www.sdtoolsinc.org
NEXT_PUBLIC_CLIENT_PORTAL_URL=https://toolsinc-client-portal.azurestaticapps.net
NEXT_PUBLIC_CASEMGR_PORTAL_URL=https://toolsinc-casemgr-portal.azurestaticapps.net
NEXT_PUBLIC_ADMIN_PORTAL_URL=https://toolsinc-admin-portal.azurestaticapps.net
NEXT_PUBLIC_HUB_URL=https://portal.sdtoolsinc.org
NEXT_PUBLIC_LEARNING_URL=https://www.sdtoolsinc.org/portal

# API Configuration
NEXT_PUBLIC_API_URL=https://api.sdtoolsinc.org
NEXT_PUBLIC_API_TIMEOUT=30000

# Email Service Configuration (for user approval notifications)
SMTP_HOST=smtp.sendgrid.net
SMTP_PORT=587
SMTP_USER=apikey
SMTP_PASSWORD=your-sendgrid-api-key
SMTP_FROM_EMAIL=noreply@sdtoolsinc.org

# Feature Flags
ENABLE_AUTO_APPROVAL=false
ENABLE_EMAIL_NOTIFICATIONS=true
59 changes: 59 additions & 0 deletions .env.example.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# ==============================================
# T.O.O.L.S Inc Portal Configuration
# ==============================================

# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://witgsjkbxflqlvvgmghu.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndpdGdzamtieHhmbHFsdnZnbWdodSIsInJvbGUiOiJhbm9uIiwiaWF0IjoxNzM4MTk1MDAwLCJleHAiOjE4OTU5NzEwMDB9.P3rH8KfQ3R0_3R5q7J7K5L5m5n5o5P5Q5R5s5T5u5V
SUPABASE_SERVICE_ROLE_KEY=<your-service-role-key>

# Azure OAuth Configuration
NEXT_PUBLIC_AZURE_CLIENT_ID=<your-azure-client-id>
NEXT_PUBLIC_AZURE_TENANT_ID=<your-azure-tenant-id>
AZURE_CLIENT_SECRET=<your-azure-client-secret>

# Environment
NODE_ENV=development

# Portal URLs (Production)
NEXT_PUBLIC_MAIN_URL=https://www.sdtoolsinc.org
NEXT_PUBLIC_CLIENT_PORTAL_URL=https://client.sdtoolsinc.org
NEXT_PUBLIC_CASEMGR_PORTAL_URL=https://staff.sdtoolsinc.org
NEXT_PUBLIC_ADMIN_PORTAL_URL=https://admin.sdtoolsinc.org
NEXT_PUBLIC_HUB_URL=https://portal.sdtoolsinc.org
NEXT_PUBLIC_LEARNING_URL=https://www.sdtoolsinc.org/portal

# API Configuration
NEXT_PUBLIC_API_URL=https://api.sdtoolsinc.org
NEXT_PUBLIC_API_TIMEOUT=30000

# NextAuth Configuration
NEXTAUTH_URL=https://portal.sdtoolsinc.org
NEXTAUTH_SECRET=your-secret-here-generate-with-openssl-rand-base64-32

# OAuth Providers
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
AZURE_AD_CLIENT_ID=your-azure-ad-client-id
AZURE_AD_CLIENT_SECRET=your-azure-ad-client-secret
AZURE_AD_TENANT_ID=your-azure-tenant-id

# Email Service (azure | sendgrid)
EMAIL_SERVICE=azure
AZURE_COMMUNICATION_CONNECTION_STRING=your-connection-string
SENDGRID_API_KEY=your-sendgrid-api-key
EMAIL_FROM=noreply@sdtoolsinc.org

# Database
DB_CONNECTION_STRING=Server=tcp:your-server.database.windows.net,1433;Initial Catalog=sdtoolsinc;Persist Security Info=False;User ID=admin;Password=yourpassword;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

# Feature Flags
ENABLE_RBAC=true
ENABLE_AUDIT_LOGGING=true
ENABLE_EMAIL_VERIFICATION=true

# Admin Configuration
ADMIN_EMAIL=admin@sdtoolsinc.org
ADMIN_INITIAL_PASSWORD=ChangeMe123!
9 changes: 9 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
node_modules/
.next/
out/
api/
data-factory/
portal-app/
apps/
automation/
*.config.js
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": ["next/core-web-vitals"]
}
Loading