Swarthmore A11yGator is an innovative platform aimed at enhancing the accessibility of course materials for Swarthmore College students. This platform ensures an inclusive learning environment by providing remediated and accessible documents, notes, and other course materials to meet the diverse needs of students.
- Accessible Course Materials: Access a variety of course documents, all remediated to comply with accessibility standards.
- Light and Dark Mode: Enjoy a user-friendly interface with customizable viewing preferences.
- Responsive Design: Seamlessly access materials on any device, from mobile phones to desktops.
- AI-Powered Search: Quickly find what you need using advanced AI-driven search functionality. (Upcoming feature)
- Profile Customization: Highlight and save readings, and personalize your material library. (Upcoming feature)
- Frontend:
- Next.js for server-side rendering.
- React for dynamic client-side functionality.
- Backend:
- tRPC for type-safe API routes without schema duplication.
- Prisma ORM for seamless database interaction.
- Database: PostgreSQL for reliable and efficient data storage.
- Authentication: NextAuth.js for secure and simple user authentication.
- Styling: Tailwind CSS for a clean, responsive, and accessible design.
- Hosting: Vercel for continuous integration and deployment.
- Storage: AWS S3 for document storage and management.
- Clone the Repository
git clone https://github.com/Swarthmore/a11y-doc-repo.git cd a11y-doc-repo
- Install Dependencies
npm install
- Set Up Environment Variables
- Copy the
.env.example
file to.env
and populate it with the required values. - Ensure you include your Google OAuth redirect URL in your Google Console dashboard.
- Copy the
- Run Database Migration
npx prisma migrate resolve --applied 20240816170427_init
- Run in Docker (Optional)
Start the app in a Docker container:docker compose up -d
- Start the Development Server
npm run dev
Swarthmore A11yGator aims to:
- Provide a central hub for students to access accessible course materials.
- Ensure compliance with accessibility standards such as WCAG.
- Continuously improve functionality and user experience based on user feedback.