πŸ“¦ EqualifyEverything / equalify-docs

πŸ“„ README.md Β· 85 lines
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.*