WORK-IN-PROGRESS: Use at your own risk! See open issues for known defects and missing features: https://github.com/katjakarhu/OpenCAQDA/issues
If you would like to participate, feel free to tackle unassigned issues!
OpenCAQDA is an easy-to-use open source desktop application for qualitative data analysis. The goal is to provide the user with visibility, traceability, and control over the coding process.
Supported file formats are plain text, MD, PDF and HTML files
Create research projects, that contain a set of files and codes.
Drag and drop coding: select text and drag code over it (left mouse button).
Drag and drop code hierarchy: with right button, drag and drop codes over each other to create a hierarchy (TODO: save relationship to database, now this resets everytime you restart the application)
Quick filter codes: find the relevant codes easily
Searching within one or multiple files
You can attach memos to codes or files in the "Memos" tab
- Plain text (*.txt)
- PDF (*.pdf)
- HTML (*.html)
- Markdown (*.md)
The data is stored in an SQLite database locally (TODO: add possibility for user the change the URL to database for shared database use)
You will need to have Python 3 installed.
Go to project directory.Set the application directory to Python path:
export PYTHONPATH=$PYTHONPATH:.
Install requirements:
pip install -r requirements.txt
Run app:
python3 ocaqda/main.py
- database/ contains classes related to database connectivity
- data/ contains enums, entities (models.py)
- services/ handles fetching and saving data, call these methods from the UI
- ui/ contains the views
- utils/ contains useful methods that can be used anywhere
See also "Issues" for open issues.
- Code relationships: visualization and editing
- Coding functionality
- Managing codes (delete, rename)
- Importing and exporting:
- Codes
- Memos
- Projects
- Better user flow when:
- Settings file does not exist
- Database does not exist
- App configuration
- User configuration: preliminary version exists
- Database configuration: preliminary version exists
- More unit tests
- Multi-user projects (with shared database)
- Editable DB settings
- Storing DB credentials
- Other than SQLite support (MySQL, Postgres, etc.)
- Activity log:
- Who did what (added memos, files, codes, edited codes, memos)
- Can be used for reporting your analysis process
- Case study features:
- Cross case analysis view: compare the codes in cases
- Word cloud
- Sentiment analysis
- Investigate other data analysis possibilities with Python
- Image coding support (e.g. image to text, or other)
- Video file coding support
- CSV and Excel file coding (can be circumvented by converting to PDF or txt)
- DOCX coding (can be circumvented by converting to PDF or txt)
- RTF file coding (can be circumvented by converting to PDF ot txt)
- Many projects open at the same time