nikobojs / manuscrape_electron

ManuScrape desktop app for Windows 11
6 stars 2 forks source link


Manuscape logo



ManuScrape is a solution for managing large amounts of observations (images mapped to custom defined parameters), including tools to collect, edit, enrich and export.

ManuScrape Windows App

This is the main ManuScrape repo which holds the native client side windows app and installation guide.

If you are looking for the backend repo, go to the manuscrape_nuxt repository.



Basic feature overview:

There are two main actors: the project manager and the collaborator.

Project managers can setup projects using the web app:

  1. Enter project name
  2. Define observation parameters
  3. Invite collaborators by email

Collaborators can submit observations using the native app:

  1. Capture image (using smart tools or file upload)
  2. Edit image
  3. Enter observation parameter values
  4. Attach extra files if any
  5. Submit observation

Whether you're a collaborator or project owner isn't bound to your ManuScrape user, but to your permission role in the specific project.

The project manager can export the entire project into to different formats, including spreadsheets and zip files. Right now the export features are optimized to deliver formats, that are easy to import into NVivo 14.

Installation on Windows

Before you start installing, you need to decide where you want to put your data. As of now, you can temporarily use manuscrape.org for free, which is also the default option in the signup flow.

You can download a compiled windows installer, that will either install or update ManuScrape to the desired version. The latest .exe installer can be found here.

Bug reports / Feature requests

After the launch of v1.0.0, we intend to use GitHub Issues for all development tasks. If you experience bugs, or need features added or refactored, please submit an issue, preferably in english.

Contribute to the code β˜•

You are more than welcome to contribute to the project in any way. Except donations. For now.

TL;DR:

Clone repositories, look for TODO-comments, make improvement, create feature branch (naming doesn't matter), commit, create PR, and done! The PR will be reviewed by the project maintainers.

Repository overview:

This repo is an Electron app tested on Windows 11 and a couple Linux distributions. The app provides some client-side native tools, that talks with the api of the online backend app. Here is the backend repo.

Git conventions:

Not strict in any way. Make your contributions the way you think works best. Pull requests (into "unstable" branch) on feature branches will be reviewed and merged by the current admins of the project.

Setup on Linux or Mac:

  1. Install Electron repository:

    1. git clone https://github.com/nikobojs/manuscrape_electron
    2. cd manuscrape_electron
    3. npm install
    4. npm run pyinstall
    5. npm run pyfreeze
  2. Install ManuScrape Nuxt repository

  3. Start Nuxt app: cd manuscrape_nuxt && yarn dev

  4. Start Electron app: cd manuscrape_electron && npm start

  5. For MacOS: If you have problems with taking screenshots go to System Preferences -> Privacy & Security -> Screen Recording, and give app permission

Setup on Windows:

NOTE: Development ennvironment for windows is not actively maintained or tested

It's possible to set up a development environment on windows. However, the solution is not actively tested on windows, and there is a known issue with the npm scripts sometimes not working in windows environments.

The tricky part here is virtualenv from PyPi, which is the virtual python environment that incapsules a part of the scrollshot feature. virtualenv seems inconsistent in what paths it creates on windows on initialization. To compensate for that, there are two replacement npm scripts that might fix the python path bug:

npm run pyinstall-win and npm run pyfreeze-win

If they don't work, try installing and compiling the python program manually (in virtualenv). You can look at the existing scripts in package.json for inspiration. If you know of a consistent fix, please submit an issue!

Contributors πŸ’₯ πŸš€ 😻