Skip to content

Commit 6e3e748

Browse files
committed
feat: add CLAUDE and HACKABILITY documentation, enhance project management UI
1 parent 84a608b commit 6e3e748

7 files changed

Lines changed: 1282 additions & 403 deletions

File tree

CLAUDE.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Development Commands
6+
7+
- `npm run dev` - Start development server on localhost:3000
8+
- `npm run build` - Build for production (uses SKIP_ENV_VALIDATION=1)
9+
- `npm run lint` - Run ESLint
10+
- `npm run start` - Start production server
11+
- `npx prisma studio` - Open Prisma database browser
12+
- `npx prisma generate` - Generate Prisma client (runs automatically after npm install)
13+
- `npx prisma db seed` - Seed database with initial data
14+
15+
## Project Architecture
16+
17+
**Space Hackability** is a T3 Stack application for managing and showcasing accessibility-focused projects from the Hackability community.
18+
19+
### Tech Stack
20+
- **Next.js 13.1.6** with hybrid App Router + Pages Router
21+
- **tRPC 10.9.1** for type-safe API communication
22+
- **Prisma 4.9.0** with PostgreSQL for data persistence
23+
- **NextAuth.js 4.19.2** for Google OAuth authentication
24+
- **Tailwind CSS + DaisyUI** for styling
25+
- **Editor.js 2.26.5** for rich content editing
26+
27+
### Key Architecture Patterns
28+
29+
**Hybrid Routing**: The app uses both App Router (`/src/app/`) for admin dashboard and Pages Router (`/src/pages/`) for public pages like the homepage.
30+
31+
**Role-Based Access**: Three user levels:
32+
- Public users (view published projects)
33+
- Authors (`isAuthor: true` - create/edit own projects)
34+
- Admins (`isAdmin: true` - full system access)
35+
36+
**Rich Content System**: Projects use Editor.js for structured content with multiple block types (headers, paragraphs, code, images, tables, etc.). Content is stored as JSON in the `body` field.
37+
38+
### Database Schema
39+
40+
Core models:
41+
- **User**: Authentication + role flags (`isAdmin`, `isAuthor`)
42+
- **Project**: Main content model with rich Editor.js `body` (JSON), structured fields (`what`, `why`, `how`), `buildSteps` (JSON array), and media management
43+
- Standard NextAuth models (Account, Session, VerificationToken)
44+
45+
### tRPC API Structure
46+
47+
Located in `/src/server/api/routers/`:
48+
- `/auth` - Authentication management
49+
- `/project` - Core project operations, file uploads (Cloudinary/Google Cloud)
50+
- `/author` - Author-specific operations (`getMyProjects`, `createProject`)
51+
- `/admin` - Admin operations (`getAllProjects`, `setDraft`, `deleteProject`, role management)
52+
- `/files` - File management utilities
53+
54+
**Security**: Procedures use `protectedProcedure`, `authorProcedure`, and `adminProcedure` middleware for access control.
55+
56+
### File Organization
57+
58+
- `/src/projects/` - Project-specific components and forms
59+
- `/src/ui/` - Reusable UI components (Editor, Logo, Nav, Footer)
60+
- `/src/projects/forms/` - Form components with Zod validation and React Final Form
61+
- `/src/app/dashboard/` - Admin interface using App Router
62+
- `/src/pages/` - Public pages (homepage, project views)
63+
64+
### Media Management
65+
66+
**Images**: Cloudinary integration with `generateCloudinaryUploadSignature` for direct uploads
67+
**Files**: Google Cloud Storage with `generategsUploadUrl` for document uploads
68+
**Fallback**: Uses `/hackability.png` for missing project preview images
69+
70+
### Form System
71+
72+
Uses React Final Form with Zod validation:
73+
- `ZodForm` wrapper component handles schema validation
74+
- Custom field components (`TextField`, `SelectPicker`) in `/src/projects/forms/`
75+
- Editor.js integration for rich content fields
76+
77+
### Development Notes
78+
79+
**Environment**: Extensive environment validation using Zod schemas - check `.env.example` for required variables.
80+
81+
**TypeScript**: Strict TypeScript configuration with full end-to-end type safety via tRPC.
82+
83+
**Styling**: Tailwind CSS with DaisyUI component library. The project uses Italian language throughout the UI.
84+
85+
**Build**: Production builds skip environment validation (`SKIP_ENV_VALIDATION=1`) - ensure all environment variables are properly set in production.
86+
87+
**Docker Support**: Multi-stage Dockerfile available for containerized deployment.

HACKABILITY.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# HACKABILITY.md
2+
3+
This file provides context about Hackability, the Italian non-profit organization behind this project platform.
4+
5+
## About Hackability
6+
7+
**Hackability** is a pioneering Italian non-profit organization founded in Turin in 2016, after three years of informal activity. The association is dedicated to developing innovative accessibility solutions through collaborative design and digital fabrication technologies.
8+
9+
## Mission and Vision
10+
11+
Hackability's core mission is to bring together the skills of designers, makers, and digital artisans with the needs and creativity of people with disabilities and elderly individuals. Their goal is to co-create personalized solutions that enhance daily autonomy and promote social inclusion.
12+
13+
### Key Principles
14+
- **Co-design (Co-progettazione)**: Active involvement of users in the entire design and development process
15+
- **Social Impact**: Creating durable solutions that provide long-term benefits
16+
- **Scalability**: Developing solutions that can be reproduced and scaled economically
17+
- **Digital Fabrication**: Using 3D printing, maker spaces, and digital technologies as tools for inclusive innovation
18+
- **Community Building**: Growing territorial communities around accessibility and inclusion
19+
20+
## The Hackability Methodology
21+
22+
Hackability has developed a distinctive "Hackability Thinking" methodology that:
23+
24+
- Identifies and addresses emerging social, cultural, economic, and technological needs related to accessibility
25+
- Recognizes that people with disabilities often create custom solutions themselves or with caregivers
26+
- Systematically involves people with and without disabilities in cooperative design and fabrication
27+
- Uses digital fabrication technologies to create custom assistive solutions
28+
- Empowers disability communities to independently use digital technologies
29+
30+
## Impact and Achievements
31+
32+
### Quantitative Impact
33+
- **400+ accessibility solutions** co-designed over ten years of activity
34+
- **~1,000 solutions** distributed annually to people with disabilities, seniors, and caregivers
35+
- **150+ completed projects** involving approximately 900 people
36+
- **400+ orthoses** co-designed and delivered to users in Turin's Spinal Unit in 12 months
37+
38+
### Recognition and Awards
39+
- **European Social Innovation Competition** winner (2017)
40+
- **Compasso d'Oro ADI** design award - honorable mention (2020)
41+
- **XXVI Compasso d'Oro ADI** design award recognition
42+
43+
## Infrastructure and Operations
44+
45+
### Maker Spaces and Labs
46+
- **InclusiveLab** - Main facility in Turin
47+
- **Tech4Care makerspaces** - Network across spinal units in Piedmont region
48+
- **Territorial production laboratories** - Distributed approach to accessibility solutions
49+
50+
### Collaborations
51+
- **Universities**: Including University of Turin (Idem project: Inclusive Design Empowerment Mountain)
52+
- **Corporations**: Partnerships with Barilla, Juventus FC, Toyota
53+
- **Healthcare**: Integration with spinal units and rehabilitation centers
54+
- **Disability Organizations**: Including Lega del Filo d'Oro (main Italian deaf-blind association)
55+
56+
## Example Projects and Solutions
57+
58+
### PARLOMA Project
59+
A groundbreaking communication system for deaf-blind individuals featuring:
60+
- Low-cost depth sensor as input device
61+
- Anthropomorphic robotic hand as output device
62+
- Hand-shape recognition and remote transmission
63+
- Functions as a "telephone" for deaf-blind people
64+
65+
### Orthoses and Assistive Devices
66+
- Custom 3D-printed orthoses co-designed by therapists and patients
67+
- Personalized home automation solutions
68+
- Custom aids and adaptive equipment
69+
- Low-cost scalable assistive technologies
70+
71+
## Current Focus Areas
72+
73+
### Active Projects
74+
- **Tech4Care #Silver**: Co-design marathons involving 60+ participants (makers, designers, businesses, end users)
75+
- **Idem: Inclusive Design Empowerment Mountain**: Collaboration with University of Turin
76+
- **Ongoing research**: Supported by Italian Ministry of Research and University through various programs
77+
78+
### Target Communities
79+
- People with physical disabilities
80+
- Elderly individuals and their caregivers
81+
- Healthcare professionals and therapists
82+
- Designers and makers interested in social impact
83+
- Organizations seeking inclusive design solutions
84+
85+
## Philosophy and Approach
86+
87+
Hackability represents a paradigm shift from traditional assistive technology development by:
88+
89+
1. **User-Centered Design**: People with disabilities are not just end users but active co-designers
90+
2. **Community Empowerment**: Building local capacity for ongoing solution development
91+
3. **Open Innovation**: Sharing methodologies and solutions for broader impact
92+
4. **Technology Democratization**: Making digital fabrication accessible to disability communities
93+
5. **Sustainable Impact**: Creating solutions that are economically viable and scalable
94+
95+
## Connection to This Platform
96+
97+
This Space Hackability platform serves as the digital documentation and collaboration hub for Hackability's methodology and projects. It enables:
98+
99+
- **Documentation**: Comprehensive project documentation using structured formats
100+
- **Knowledge Sharing**: Open source and Creative Commons licensing for broader impact
101+
- **Community Building**: Platform for collaboration between designers, makers, and users
102+
- **Methodology Dissemination**: Sharing the Hackability approach with global communities
103+
- **Project Showcase**: Highlighting successful accessibility solutions and their impact
104+
105+
The platform embodies Hackability's commitment to open innovation, collaborative design, and the democratization of accessible technology development.

0 commit comments

Comments
 (0)