1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85# Equalify Technical Documentation
This folder contains technical documentation for developers working on or deploying Equalify.
## Documentation Index
| Document | Description |
|----------|-------------|
| [Architecture Overview](architecture-overview.md) | High-level system architecture and component overview |
| [Backend API](backend-api.md) | API endpoints, authentication, and database access |
| [Scanning Services](scanning-services.md) | HTML and PDF scanning microservices |
| [Frontend Guide](frontend-guide.md) | React application structure and development |
| [Database Schema](database-schema.md) | PostgreSQL tables and relationships |
| [Deployment Guide](deployment-guide.md) | AWS deployment and configuration |
| [Contributing](contributing.md) | Development workflow and contribution guidelines |
## Quick Start
### Prerequisites
- Node.js 18+
- Yarn
- AWS CLI v2 (for deployment)
### Development Setup
```bash
# Clone the repository
git clone https://github.com/equalifyEverything/equalify.git
cd equalify
# Install dependencies
yarn install
# Start frontend development
cd apps/frontend
yarn start:staging
```
### Deploy to Staging
```bash
# Frontend
cd apps/frontend && yarn build:staging
# Backend
cd apps/backend && yarn build:staging
```
## Technology Stack
| Layer | Technologies |
|-------|--------------|
| Frontend | React 19, TypeScript, Vite, TanStack Query |
| Backend | Node.js, AWS Lambda, PostgreSQL, Hasura |
| Scanning | Chromium, axe-core, veraPDF |
| Infrastructure | AWS (Lambda, SQS, S3, CloudFront, Cognito) |
## Architecture Overview
```
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Frontend ββββββΆβ Backend ββββββΆβ Database β
β (React) β β (Lambda) β β (PostgreSQL)β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β
βΌ
βββββββββββββββ
β SQS Router β
βββββββββββββββ
β
βββββββββββββ΄ββββββββββββ
βΌ βΌ
βββββββββββββ βββββββββββββ
β HTML β β PDF β
β Scanner β β Scanner β
βββββββββββββ βββββββββββββ
```
## Support
- **GitHub Issues**: Technical bugs and feature requests
- **Documentation**: This folder and inline code comments
- **Newsletter**: [it.uic.edu/accessibility/engineering](http://it.uic.edu/accessibility/engineering)
---
*Equalify is an open-source project by UIC Technology Solutions.*