Go to file
Joshua Coles e73123b7f9
All checks were successful
Rust / build (push) Successful in 55s
Add SQL mode and make it use the query! macro for type checking
2024-04-26 21:44:04 +01:00
.github/workflows Add SQL mode and make it use the query! macro for type checking 2024-04-26 21:44:04 +01:00
.sqlx Add SQL mode and make it use the query! macro for type checking 2024-04-26 21:44:04 +01:00
functions Add SQL mode and make it use the query! macro for type checking 2024-04-26 21:44:04 +01:00
migrations Add last_saved and related fields to the database 2024-03-10 18:56:40 +00:00
src Add SQL mode and make it use the query! macro for type checking 2024-04-26 21:44:04 +01:00
.gitignore Initial work 2024-02-07 20:01:47 +00:00
build.rs Add SQL mode and make it use the query! macro for type checking 2024-04-26 21:44:04 +01:00
Cargo.lock Add a little bit of tracing 2024-04-25 14:08:41 +01:00
Cargo.toml Add a little bit of tracing 2024-04-25 14:08:41 +01:00
DATA_OBSERVATIONS.md Add last_saved and related fields to the database 2024-03-10 18:56:40 +00:00
LICENSE-APACHE Add license files and TODOs 2024-02-07 20:56:12 +00:00
LICENSE-MIT Add license files and TODOs 2024-02-07 20:56:12 +00:00
README.md Push to cause build 2024-03-19 14:36:19 +00:00

Arc Ingester

Read the JSON export from the Arc app and ingest it into a postgresql database. This is designed to be run as a cron job or launchctl jjob to keep the database up to date with the latest data from the app.

Requirements

  • The Arc app installed on your iPhone (or possibly other iOS devices?)
  • The app set to export data
  • A postgresql database to ingest the data into

Installation

Currently, the ingester is not available as a binary, so you will need to build it from source. You will need to have Rust installed to do this.

cargo install --git https://github.com/joshuacoles/arc-ingester

Running

The ingester is a command line tool that takes the following arguments,

arc-ingester --root "~/Library/Mobile Documents/iCloud~com~bigpaua~LearnerCoacher/Documents" --db "postgresql://localhost/arc"

see arc-ingester --help for more information.

TODO

  • Logging
  • Investigate using modified date as a replacement for hashing to determine if a file has changed
    • At the very least, use the modified date to determine if a file has changed and then hash check the ones that have the same modified date.
  • Multithreading
  • Error handling
  • What happens if some places or activities are deleted from the app? I think atm they will be left in the database.
  • Auto build and release