Accessible Docs 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.
The Accessible Docs app is in the webapp folder. The scripts folder contains Python scripts used to prepare the data for the webapp.
Accessible Docs 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.
- 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)
-
Clone the Repository
git clone https://github.com/Swarthmore/accessible-docs.git cd accessible-docs -
Install Dependencies
npm install
-
Set Up Environment Variables
- Copy the
.env.examplefile to.envand 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 deploy
-
Start the Development Server
npm run dev
You can also run the project in docker using docker-compose up
- 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.