Thank you for considering to participate in the development of this application! Please read this guide then check Issues marked with the help-wanted tag.
The purpose of this app is to make it easer to copy an image from the screen to a physical paper:
- select an image
- align (zoom, rotate, pan) as you wish
- lock the image
- put a paper over the screen, grab a pencil and start tracing
Check out the Play Store page of the app and install it on your Android device to get familiar with it.
If you know how Expo works, you are good to go, otherwise follow these steps:
-
Install the official Expo App on your Android Device. This is required to run your version of the App on your mobile during development.
-
Install Node.js on your development environment. This is required to get the required dependencies and run a development version that you can access from your Android Device.
- Popular alternatives to get Node.js:
-
Install
expo-cli
npm install -g expo-cli
-
Install a recent NPM:
npm install -g npm
An alternative to installing Node.js locally (steps 2-4) is to use the provided Dockerfile to create a builder image for the application. In this case install Docker instead of Node.js and the NPM dependencies.
Fork this repository then clone your fork.
git clone https://github.com/YOUR-USERNAME/tracing-paper-sketching.git
Navigate to the project directory then use NPM to download the dependencies of the project:
cd tracing-paper-sketching
npm install
Then, start the development server:
npm start
When it's up and running it will display a QR code. You may have to wait a minute while your project bundles and loads for the first time.
If you don't have Node.js locally, you can use Docker to build and run the project.
cd tracing-paper-sketching
./build.sh
This command creates the builder image and runs the NPM commands required to start the development server.
Start the Expo Go App on your Android Device and scan the QR code. It will download and run the application.
Make sure that your smartphone and the development server are on the same network!
Please use the following guidelines:
- Try the changes on your device.
- Follow the same coding style as the code that you are modifying.
- If necessary, update the documentation for the change you are making.
- Write descriptive commit messages and add each logical change to a separate commit to make code review easier.
The project relies on React Native and Expo. There are plenty of resources about this framework on the internet, but here are some useful links to get started.
- https://facebook.github.io/react-native/docs/getting-started.html
- https://docs.expo.io/versions/latest/distribution/building-standalone-apps
- https://docs.expo.io/versions/latest/workflow/configuration.html#versioncode
- https://ionicons.com/cheatsheet.html
Push your changes and submit a Pull Request. Now it's my turn to review your PR and get in touch with you. :)