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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212# Equalify Hub
The central hub for the Equalify project โ organizing documentation, open-source repositories, contribution guides, KPI reports, and support resources in one accessible place.
**Live at:** https://equalify.uic.edu
---
## Table of Contents
- [What is Equalify Hub?](#what-is-equalify-hub)
- [Deploy Your Own Instance](#deploy-your-own-instance)
- [Prerequisites](#prerequisites)
- [Environment Variables](#environment-variables)
- [Local Development](#local-development)
- [AWS Lambda Deployment](#aws-lambda-deployment)
- [Configuration](#configuration)
- [Tech Stack](#tech-stack)
- [Contributing](#contributing)
- [Project Ownership](#project-ownership)
---
## What is Equalify Hub?
Equalify Hub serves multiple audiences:
### For the Transition Team
- **Support documentation** โ Centralized place for Equalify support (not just bugs)
- **KPI dashboards** โ Track development progress and key metrics
- **Issue tracking** โ Aggregate view of issues across all repositories
### For End Users
- **User documentation** โ Learn how to use Equalify effectively
- **Support resources** โ Find help and guidance
### For Contributors
- **Technical documentation** โ API docs, code structure, architecture diagrams
- **Contribution guides** โ How to contribute to Equalify projects
- **Repository overview** โ Browse all EqualifyEverything repos
---
## Deploy Your Own Instance
Equalify Hub is designed to be deployed by other institutions running their own Equalify instance. Follow these steps to deploy your own Hub.
### Prerequisites
- Node.js 18+ and Yarn
- AWS account with Lambda and DynamoDB access
- A running Equalify application instance
### Environment Variables
The Hub uses environment variables for configuration. Copy `.env.example` to `.env` for local development, or set these as Lambda environment variables for production:
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `EQUALIFY_APP_URL` | Yes | `https://app.equalify.uic.edu` | The URL of your Equalify application. "Sign into Equalify" buttons will link here. |
| `SITE_NAME` | No | `Equalify Hub` | The display name for your Hub instance. |
| `GITHUB_ORG` | No | `EqualifyEverything` | The GitHub organization to display repos/issues from. |
| `FAVICON_URL` | No | `{EQUALIFY_APP_URL}/favicon.ico` | Custom favicon URL. |
| `ORG_LOGO_URL` | No | GitHub org avatar | Custom organization logo URL. |
### Local Development
1. **Clone the repository**
```bash
git clone https://github.com/EqualifyEverything/equalify-hub.git
cd equalify-hub
```
2. **Install dependencies**
```bash
yarn install
```
3. **Configure environment**
```bash
cp .env.example .env
# Edit .env with your configuration
```
4. **Start development server**
```bash
yarn start
```
This builds Tailwind CSS and starts the local server with hot reloading.
5. **Build for production**
```bash
yarn build:css # Build CSS only
yarn build # Full build and deploy to Lambda
```
### AWS Lambda Deployment
#### 1. Set up AWS resources
You'll need:
- **Lambda function** โ Node.js 18+ runtime
- **DynamoDB table** โ For feature requests and user data
- **API Gateway** โ HTTP API or Function URL for web access
#### 2. Configure Lambda environment variables
In the AWS Lambda console, add these environment variables:
```
EQUALIFY_APP_URL=https://your-equalify-instance.com
SITE_NAME=Your Organization Hub
GITHUB_ORG=YourGitHubOrg
```
#### 3. Configure AWS CLI profile
Update `package.json` to use your AWS profile:
```json
{
"scripts": {
"sso": "aws sso login --profile your-profile",
"build": "... --profile your-profile ..."
}
}
```
#### 4. Deploy
```bash
# Authenticate with AWS
yarn sso
# Build and deploy
yarn build
```
This will:
1. Build Tailwind CSS
2. Bundle the application with esbuild
3. Create a Lambda deployment package
4. Upload to your Lambda function
---
## Configuration
### Customizing the Sign-In Link
The "Sign into Equalify" button appears throughout the Hub. To point it to your Equalify instance:
```bash
# In .env (local) or Lambda environment variables (production)
EQUALIFY_APP_URL=https://your-equalify-instance.com
```
### Customizing the Site Name
The site name appears in the header, footer, and page titles:
```bash
SITE_NAME=Acme Accessibility Hub
```
### Connecting to Your GitHub Organization
To display repositories and issues from your organization:
```bash
GITHUB_ORG=YourOrgName
```
---
## Tech Stack
- **TypeScript** โ Type-safe development
- **Hono** โ Lightweight web framework
- **AWS Lambda** โ Serverless deployment
- **DynamoDB** โ NoSQL database for feature requests
- **Tailwind CSS** โ Utility-first styling
- **esbuild** โ Fast bundling
---
## Contributing Documentation
Helen's team and other contributors can easily add documentation:
1. **Sign in with GitHub** โ Must be part of the EqualifyEverything organization
2. **Create/edit Markdown files** โ Standard markdown format
3. **Submit via GitHub** โ Basic git operations only
---
## Project Ownership
Owned by Christopher Aitken as part of UIC's Digital Accessibility initiative.
**Key Contacts:**
- Christopher Aitken โ Technical lead, Equalify Hub
- Jemma Ku โ Oversight & integration with internal accessibility projects
- Blake & Trey โ Equalify leadership
---
## License
MIT License โ see [LICENSE](LICENSE) for details.