👨💻How to contribute
Getting Started
Fork the repository and clone your fork locally
Follow the setup instructions provided in the README
Branching
Create a new branch from master for any of your work
Use the following naming convention for the branches:
feature/xyz (for features)
bugfix/xyz (for bugs)
Development Standards
Code Style: Use Prettier/ESLint for consistent formatting. Run the following command before each commit:
npm run lintSmall, Focused changes: Keep PRs focused on a single topic. Smaller PRs are easier to review
Documentation: Update the README or any of the other docs if your changes setup, usage or architecture
Database Changes
Accessibility Tools uses Sequelize + SQLite to manage the database. The folder structure for the database related files is as follows:
src/electron/db/
models/ : stores all the sequelize models that are translated into sqlite tables
system/ : stores all the system models. The tables created are prefixed with
system_
migrations/ : stores sequelize migration files
For any updates to the database structure, the following steps need to be followed:
Create a new migration file under src/electron/db/migrations/. This file should have an incremental version based on the existing migration files
Update the relevant model files under src/electron/db/models/.
Update the package.json version.
Run the app using:
npm run devThis will run the migration file, sync the models and update the system data locally, if there are any changes there.
Pull Request Process
Push your branch
Open a Pull Request (PR) to master
Respond to review feedback promptly
Your PR will be merged once it's approved and passes CI checks
Community
All contributors are expected to follow our Code of conduct to ensure a welcoming environment for everyone.
Last updated

