mobile todoapp praksei
  • PHP 51.9%
  • Blade 15.8%
  • JavaScript 10%
  • Kotlin 9.6%
  • Swift 7.1%
  • Other 5.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-16 11:52:16 +03:00
api docs: add push notification guide 2026-10-16 11:36:03 +03:00
bin feat: prebake icons 2026-10-09 11:17:32 +03:00
desktop feat: prebake icons 2026-10-09 11:17:32 +03:00
mobile fix: qr scanning 2026-10-13 11:29:42 +03:00
shared fix: qr scanning 2026-10-13 11:29:42 +03:00
.gitignore feat: add a building binary, that will build on all platforms (except Apple) (also thank you cursor) 2026-10-02 12:31:23 +03:00
docker-compose-api.yml feat: implement google auth in backend 2026-10-06 09:15:27 +03:00
README.md docs: mention web too.. 2026-10-16 11:52:16 +03:00

About

Internship project built in Laravel with NativePhp

Not much to it, just a kanban todo board, but the cool part is NATIVE device API access, allowing for NFC scanning, picture taking and much more (please look around, you will find cool features).

Note

Completely optional, works fine without sync server, just will not sync as the name implies..

Syncs across devices, to sync, run API server located in /api/ or use the docker-compose-api.yml file

AI Usage

Started escalating at the end, due to general boredom and just being "locked" in a room for 8 hours... more features were requested by the internship and we (@smil & me) just couldn't be bothered honestly...

Setup

git clone https://git.smilt.dev/extend/todo-app
cd todo-app

Prerequisites

  • PHP8.4 or greater
  • Laravel (installed with composer)
  • NPM
  • sqlite
  • Android SDK
  • Android mobile device or Android studio

.env

  1. Copy .env.example, rename to .env
  2. Change APP_NAME to your preferred name
  3. Change NATIVEPHP_APP_ID if needed or want to..
  4. Change SYNC_API_URL to your sync API route:port if using such.
  5. Disable APP_DEBUG=true if you don't feel like waiting half a century for cold-boot
  6. Change Android SDK location

Mobile

cd mobile
composer install
cp .env.example .env
php artisan key:generate
php artisan native:run android

Desktop

cd desktop
composer install
cp .env.example .env
php artisan key:generate
php artisan native:install
php artisan native:run

Web

You can also use it in your web-browser, simply:

cd desktop
composer install
cp .env.example .env
php artisan key:generate
php artisan native:install
php artisan serve

Then go to the provided route:port.

Search

Not explicitly mentioned anywhere, but you can filter through tags like this --> %tag

Push notifications

Note

Optional

Also can be set up, place google-services.json in the directory root, then in /api/ rename the private key .json file to fcm-service-account.json and move it under any preferred path (I prefer /api/storage/app/private/*)

Add paths to fcm-service-account.json in /api/.env

Basically, just follow this guide: NativePHP Docs

Triggers when another device has logged into your account