FieldDB is a free, modular, open source project developed collectively by field linguists and software developers to make an expandable user-friendly app which can be used to collect, search and share your data, both online and offline. It is fundamentally an app written in 100% Javascript which runs entirely client side, backed by a NoSQL database (we are currently using CouchDB and its offline browser wrapper PouchDB alpha). It has a number of webservices which it connects to in order to allow users to perform tasks which require the internet/cloud (ie, syncing data between devices and users, sharing data publicly, running CPU intensive processes to analyze/extract/search audio/video/text). While the app was fundamentally designed for field linguists it can be used by anyone collecting text data or collecting highly structured data where the fields on each data point require encryption or customization from user to user.
FieldDB beta was officially launched in English and Spanish on August 1st 2012 in Patzun, Guatemala as an app for fieldlinguists.
- M.E. Cathcart (U Delaware)
- Gina Cook (iLanguage Lab Ltd)
- Theresa Deering (iLanguage Lab Ltd)
- Yuliya Manyakina (Stony Brook)
- Elise McClay (McGill)
- Hisako Noguchi (Concordia)
We have some small funding TBA
This project is released under the Apache 2.0 license, which is an very non-restrictive open source license which basically says you can adapt the code to any use you see fit.
- Signup for a GitHub account (GitHub is free for OpenSource)
- Click on the "Fork" button to create your own copy.
- Leave us a note in our issue tracker to tell us a bit about the bug/feature you want to work on.
- You can follow the 4 GitHub Help Tutorials to install and use Git on your computer.
- You can watch the videos in the Developer's Blog to find out how the codebase works, and to find where is the code that you want to edit. Feel free to ask us questions in our issue tracker, we're friendly and welcome Open Source newbies.
- Edit the code on your computer, commit it referencing the issue #xx you created ($ git commit -m "fixes #xx i changed blah blah...") and push to your origin ($ git push origin master).
- Click on the "Pull Request" button, and leave us a note about what you changed. We will look at your changes and help you bring them into the project!
- Feel the glow of contributing to OpenSource :)
These are the webservices which the FieldDB client uses, and which make up the complete FieldDB suite. If you fork the project, you might also be intersted in forking these repositories and adapting them to your needs. We created two scripts to simplify the process of downloading and building the FieldDB dependancies into what we call an fielddbworkspace.
$ curl -O --retry 999 --retry-max-time 0 -C - https://raw.github.com/OpenSourceFieldlinguistics/FieldDB/master/install_mac_download_and_set_up_fielddb_servers_for_new_developers_quick_start.sh $ bash install_mac_download_and_set_up_fielddb_servers_for_new_developers_quick_start.sh
$ wget https://raw.github.com/OpenSourceFieldlinguistics/FieldDB/master/install_linux_download_and_set_up_fielddb_servers_for_new_developers_quick_start.sh $ bash install_linux_download_and_set_up_fielddb_servers_for_new_developers_quick_start.sh
- Authentication webservice (for creation of new users and their accounts on the various webservices)
- FieldDB Webserver (for public URLs)
- Database webservice (we are using pure CouchDB for this webservice)
- Audio webservice (for hosting audio files and running processes such as the ProsodyLab's Aligner)
- Lexicon webservice (for search functionality, and glosser functionality if you are a linguist)