🎉 First off, thanks for taking the time to contribute! This project would not be possible without people like you. 🎉
By participating in this project, you're agreeing to uphold the Mozilla Community Participation Guidelines. If you need to report a problem, please contact [email protected].
Help us add more sentences for other volunteers to read. See issue 341 for details.
All of our current issues can be found here on GitHub. Anything with a help wanted tag is up for grabs.
If you haven't already, install the latest version of NodeJS and npm and yarn
Then, fork and clone the repository onto your computer.
Then cd
into the project directory and enter the following commands:
yarn
yarn start
This will:
- Install all JavaScript dependencies.
- Build and serve files located in the
web
folder on localhost. - Save uploaded voice clips onto Amazon's S3.
- Lint and rebuild all js files on every change.
You can then access the website at http://localhost:9000.
You can find configurable options, like the port CommonVoice is running on, in /server/src/config-helper.ts
. Just create a /server/config.json
with the config you want to override.
The Common Voice project uses S3 for voice clip storage. If you need help configuring S3, check out HOWTO_S3.md
For more options, just type:
yarn run
The project is organized into the following directories:
- android: The Android app, a simple webview wrapper of voice.mozilla.org. This app is currently not published.
- docs: Design and data specifications for Common Voice.
- ios: The iOS app. This is a simple wrapper app for the website, as a workaround for a microphone issue in Safari.
- nubis: Configuration files for Nubis, our deployment tool.
- server: The server-side app logic, written in TypeScript.
- tools: Some scripts for managing data.
- web: The Common Voice website files, written in TypeScript. We use React to build the website.
Did you notice a bug? Do you have a feature request? Please file an issue here on GitHub.
Want to talk about something but can't find a home for it here? Head to our Discourse Category to discuss everything from feedback and ideas to questions and random musings.