Thank you for in contributing! This app have three main parts:
- App UI - Android activities in Kotlin and XML.
- HTTP Server - the HTTP Ktor server the app run.
- Website - Plain HTML/JS/CSS served from the app's assets.
Please follow the instructions below to get started.
Website files are in app/src/main/assets/ and can be edited like any regular HTML/CSS/JS project.
To simplify development:
- Forward the app's server to your computer (you need to run Transfer on emulator for this script to work):
adb forward tcp:9135 tcp:8000- Start the local dev server with live reload: Install server dependencies:
pip install requests flask livereload urllib3Then run
python serve.py localhost:9135- Visit http://localhost:4444 to see your changes.
This setup live-reloads the site and forwards /api/* requests to the emulator.
- Themes are defined in
res/values/themes.xmlandres/values/colors.xml. - For dark mode: check
res/values-night/colors.xml. - Layouts are in
res/layout/. the UI code insrc/main/java/.../ui/, and MainActivity is insrc/main/java/.../MainActivity.
- API endpoints (such as /api/upload):
server/KtorServer - Server features (like password protection):
server/FileServerService
-
for code changes, Use commit messages with tags, e.g.:
fix(server): handle large file uploadsfeat(main): add new buttontests: add tests for upload endpoint
-
Fork the repo and create a branch for your change.
-
Open a pull request
Looking forward to your contributions!