Collaborative Accessibility Testing Web Tool
Embark on a collaborative project to build a web-based tool that scans websites for common accessibility issues. This project will allow you to apply your knowledge of programming, data structures, algorithms, web development, and databases in a team setting. You will work together to create a tool that can identify issues like missing alt text, improper color contrast, and unlabeled form elements, provide actionable feedback, and generate downloadable reports. Optionally, you can implement user registration and store scan results in a database for future access. **Key Learning Areas Covered:** * **Programming & Algorithms:** Parse web pages, analyze HTML structure, and implement rules for accessibility checks. * **Data Structures:** Store and manage page scan results, rulesets, and user data. * **Web Development:** Develop both the frontend (user interface for inputting URLs and displaying results) and the backend (server-side logic for running checks). * **Databases:** Design and manage user accounts and scan history. * **Project Documentation & Code Standards:** Focus on writing comprehensive documentation, including README files, API endpoints, database schema, and code comments. Adhere to established code standards (e.g., PEP8 for Python, ESLint for JavaScript). **Project Organization:** 1. **Team Formation & Role Assignment:** Decide on team members and assign roles. Suggested roles include: Project Manager, Frontend Developer(s), Backend Developer(s), Database Administrator, and QA & Documentation Lead. Consider rotating roles to maximize learning. 2. **Define Requirements & Setup:** As a team, define specific features, user interface, and overall design. Set up your shared Git/GitHub/GitLab repository and choose your collaboration tools. Establish initial code standards and a `CONTRIBUTING.md` file. 3. **Scaffolding & Database Design:** Begin building the basic application structure (frontend and backend) and design the database schema. 4. **Feature Implementation:** Work in parallel on core features such such as scanning, user authentication, and report generation. Regularly integrate your code and conduct peer reviews. 5. **Testing, Debugging & Documentation:** Thoroughly test the application, debug any issues, and refine the UI/UX. Complete all project documentation, including a detailed README, code comments, and API documentation (if applicable). Prepare to showcase your project. **Collaboration Tools:** * **Version Control:** Git and GitHub/GitLab (for code hosting, issue tracking, pull requests, and code reviews). * **Project Management:** Trello, Jira, or GitHub Projects (for Kanban boards to track tasks and progress). * **Communication:** Slack, Discord, or Microsoft Teams (for asynchronous discussion and quick updates, voice calls). * **Documentation:** Use a shared Google Docs or a project Wiki for user stories, system design, API documentation, and meeting notes. * **Code Style Enforcement:** Integrate linters and formatters into your project repository. **Deadline/Milestone Goals (Suggested 4 weeks):** * **End of Week 1:** Finalized requirements, role assignments, repository setup, and initial collaboration tools configured. `CONTRIBUTING.md` created. * **End of Week 2:** Basic frontend and backend scaffolding complete, database schema designed. * **End of Week 3:** Core features (scanning, user auth, report generation) largely implemented and integrated. * **End of Week 4:** Comprehensive testing, debugging, final polish, and complete documentation. Project ready for presentation and review.
Subjects Covered:
Access Resource
Duration: 3600
This will open the resource in a new tab