41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Arc Ingester
 | |
| 
 | |
| Read the JSON export from the [Arc](https://www.bigpaua.com/arcapp) 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](https://www.rust-lang.org) installed to do this.
 | |
| 
 | |
| ```shell
 | |
| cargo install --git https://github.com/joshuacoles/arc-ingester
 | |
| ```
 | |
| 
 | |
| ## Running
 | |
| 
 | |
| The ingester is a command line tool that takes the following arguments,
 | |
| 
 | |
| ```shell
 | |
| 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
 |