diff --git a/README.md b/README.md
index fb8490b..d06d6ba 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-# gastrack
+# Overpass
-gas tracking without the ads
+The best iOS gas tracking app!
-The canonical repo for this is hosted on tangled over at [`dunkirk.sh/gastrack`](https://tangled.org/dunkirk.sh/gastrack)
+The canonical repo for this is hosted on tangled over at [`dunkirk.sh/overpass`](https://tangled.org/dunkirk.sh/overpass)
@@ -13,5 +13,5 @@ The canonical repo for this is hosted on tangled over at [`dunkirk.sh/gastrack`]
-
+
diff --git a/api/package.json b/api/package.json
index 4d22f24..6b09c43 100644
--- a/api/package.json
+++ b/api/package.json
@@ -1,10 +1,10 @@
{
- "name": "gastrack-api",
+ "name": "overpass-api",
"version": "0.1.0",
"scripts": {
"dev": "bun run --watch src/index.ts",
"start": "bun run src/index.ts",
- "build": "bun build --compile --outfile dist/gastrack --production ./src/index.ts"
+ "build": "bun build --compile --outfile dist/overpass --production ./src/index.ts"
},
"dependencies": {},
"devDependencies": {
diff --git a/api/src/db.ts b/api/src/db.ts
index 53fdf3b..f5a5861 100644
--- a/api/src/db.ts
+++ b/api/src/db.ts
@@ -37,7 +37,7 @@ let _db: Database | null = null;
export function getDb(): Database {
if (_db) return _db;
- _db = new Database(process.env.DB_PATH ?? "./gastrack.db");
+ _db = new Database(process.env.DB_PATH ?? "./overpass.db");
_db.exec("PRAGMA journal_mode = WAL");
_db.exec("PRAGMA foreign_keys = ON");
migrate(_db);
diff --git a/api/src/index.ts b/api/src/index.ts
index b6a7050..4b2b9bd 100644
--- a/api/src/index.ts
+++ b/api/src/index.ts
@@ -55,7 +55,7 @@ const server = serve({
},
});
-console.log(`gastrack listening on ${server.hostname}:${server.port}`);
+console.log(`overpass listening on ${server.hostname}:${server.port}`);
process.on("SIGINT", () => process.exit(0));
process.on("SIGTERM", () => process.exit(0));
diff --git a/gastrack/.DS_Store b/overpass/.DS_Store
similarity index 100%
rename from gastrack/.DS_Store
rename to overpass/.DS_Store
diff --git a/gastrack/Assets.xcassets/AccentColor.colorset/Contents.json b/overpass/Assets.xcassets/AccentColor.colorset/Contents.json
similarity index 100%
rename from gastrack/Assets.xcassets/AccentColor.colorset/Contents.json
rename to overpass/Assets.xcassets/AccentColor.colorset/Contents.json
diff --git a/gastrack/Assets.xcassets/AppIcon.appiconset/Contents.json b/overpass/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from gastrack/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to overpass/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/gastrack/Assets.xcassets/Contents.json b/overpass/Assets.xcassets/Contents.json
similarity index 100%
rename from gastrack/Assets.xcassets/Contents.json
rename to overpass/Assets.xcassets/Contents.json
diff --git a/gastrack/ContentView.swift b/overpass/ContentView.swift
similarity index 100%
rename from gastrack/ContentView.swift
rename to overpass/ContentView.swift
diff --git a/gastrack/Models/Station.swift b/overpass/Models/Station.swift
similarity index 100%
rename from gastrack/Models/Station.swift
rename to overpass/Models/Station.swift
diff --git a/gastrack/Services/APIClient.swift b/overpass/Services/APIClient.swift
similarity index 96%
rename from gastrack/Services/APIClient.swift
rename to overpass/Services/APIClient.swift
index 14846cf..500fbde 100644
--- a/gastrack/Services/APIClient.swift
+++ b/overpass/Services/APIClient.swift
@@ -18,10 +18,10 @@ enum APIError: LocalizedError {
final class APIClient: ObservableObject {
static let shared = APIClient()
- // Base URL of the gastrack server on Tailscale
+ // Base URL of the Overpass server
var baseURL: String {
- get { UserDefaults.standard.string(forKey: "gastrack_base_url") ?? "" }
- set { UserDefaults.standard.set(newValue, forKey: "gastrack_base_url") }
+ get { UserDefaults.standard.string(forKey: "sh.dunkirk.overpass.base_url") ?? "" }
+ set { UserDefaults.standard.set(newValue, forKey: "sh.dunkirk.overpass.base_url") }
}
var userKey: String? {
diff --git a/gastrack/Services/BackgroundRefreshService.swift b/overpass/Services/BackgroundRefreshService.swift
similarity index 100%
rename from gastrack/Services/BackgroundRefreshService.swift
rename to overpass/Services/BackgroundRefreshService.swift
diff --git a/gastrack/Services/EIAService.swift b/overpass/Services/EIAService.swift
similarity index 100%
rename from gastrack/Services/EIAService.swift
rename to overpass/Services/EIAService.swift
diff --git a/gastrack/Services/KeychainService.swift b/overpass/Services/KeychainService.swift
similarity index 95%
rename from gastrack/Services/KeychainService.swift
rename to overpass/Services/KeychainService.swift
index 1cde377..f2f64ee 100644
--- a/gastrack/Services/KeychainService.swift
+++ b/overpass/Services/KeychainService.swift
@@ -2,7 +2,7 @@ import Foundation
import Security
enum KeychainService {
- private static let service = "com.gastrack.app"
+ private static let service = "sh.dunkirk.overpass"
static func save(_ value: String, forKey key: String) {
let data = Data(value.utf8)
diff --git a/gastrack/Services/LocationManager.swift b/overpass/Services/LocationManager.swift
similarity index 100%
rename from gastrack/Services/LocationManager.swift
rename to overpass/Services/LocationManager.swift
diff --git a/gastrack/Services/StationStore.swift b/overpass/Services/StationStore.swift
similarity index 100%
rename from gastrack/Services/StationStore.swift
rename to overpass/Services/StationStore.swift
diff --git a/gastrack/Views/MapStationsView.swift b/overpass/Views/MapStationsView.swift
similarity index 100%
rename from gastrack/Views/MapStationsView.swift
rename to overpass/Views/MapStationsView.swift
diff --git a/gastrack/Views/NearbyView.swift b/overpass/Views/NearbyView.swift
similarity index 100%
rename from gastrack/Views/NearbyView.swift
rename to overpass/Views/NearbyView.swift
diff --git a/gastrack/Views/PrefetchView.swift b/overpass/Views/PrefetchView.swift
similarity index 100%
rename from gastrack/Views/PrefetchView.swift
rename to overpass/Views/PrefetchView.swift
diff --git a/gastrack/Views/SettingsView.swift b/overpass/Views/SettingsView.swift
similarity index 100%
rename from gastrack/Views/SettingsView.swift
rename to overpass/Views/SettingsView.swift
diff --git a/gastrack/Views/StationDetailView.swift b/overpass/Views/StationDetailView.swift
similarity index 100%
rename from gastrack/Views/StationDetailView.swift
rename to overpass/Views/StationDetailView.swift
diff --git a/gastrack/Views/StationRow.swift b/overpass/Views/StationRow.swift
similarity index 100%
rename from gastrack/Views/StationRow.swift
rename to overpass/Views/StationRow.swift
diff --git a/gastrack/gas.icon/Assets/emoji_u26fd.svg b/overpass/gas.icon/Assets/emoji_u26fd.svg
similarity index 100%
rename from gastrack/gas.icon/Assets/emoji_u26fd.svg
rename to overpass/gas.icon/Assets/emoji_u26fd.svg
diff --git a/gastrack/gas.icon/icon.json b/overpass/gas.icon/icon.json
similarity index 100%
rename from gastrack/gas.icon/icon.json
rename to overpass/gas.icon/icon.json
diff --git a/gastrack/gastrack.xcodeproj/project.pbxproj b/overpass/overpass.xcodeproj/project.pbxproj
similarity index 94%
rename from gastrack/gastrack.xcodeproj/project.pbxproj
rename to overpass/overpass.xcodeproj/project.pbxproj
index 7fb5050..a0f6c63 100644
--- a/gastrack/gastrack.xcodeproj/project.pbxproj
+++ b/overpass/overpass.xcodeproj/project.pbxproj
@@ -7,7 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
- 0B5E3B392F75ACD9005F7F70 /* gastrackApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5E3B382F75ACD9005F7F70 /* gastrackApp.swift */; };
+ 0B5E3B392F75ACD9005F7F70 /* overpassApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5E3B382F75ACD9005F7F70 /* overpassApp.swift */; };
0B5E3B3B2F75ACD9005F7F70 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5E3B3A2F75ACD9005F7F70 /* ContentView.swift */; };
0B5E3B3D2F75ACDA005F7F70 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0B5E3B3C2F75ACDA005F7F70 /* Assets.xcassets */; };
0B5E3B502F75B002005F7F70 /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5E3B482F75B002005F7F70 /* LocationManager.swift */; };
@@ -28,10 +28,10 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
- 0B5E3B382F75ACD9005F7F70 /* gastrackApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = gastrackApp.swift; sourceTree = ""; };
+ 0B5E3B382F75ACD9005F7F70 /* overpassApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = overpassApp.swift; sourceTree = ""; };
0B5E3B3A2F75ACD9005F7F70 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; };
0B5E3B3C2F75ACDA005F7F70 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- 0B5E3B432F75ACFB005F7F70 /* gastrack.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = gastrack.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0B5E3B432F75ACFB005F7F70 /* overpass.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = overpass.app; sourceTree = BUILT_PRODUCTS_DIR; };
0B5E3B442F75B002005F7F70 /* Station.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Station.swift; sourceTree = ""; };
0B5E3B462F75B002005F7F70 /* APIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIClient.swift; sourceTree = ""; };
0B5E3B472F75B002005F7F70 /* KeychainService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainService.swift; sourceTree = ""; };
@@ -68,8 +68,8 @@
0B5E3B4F2F75B002005F7F70 /* Views */,
0B5E3B3C2F75ACDA005F7F70 /* Assets.xcassets */,
0B5E3B3A2F75ACD9005F7F70 /* ContentView.swift */,
- 0B5E3B382F75ACD9005F7F70 /* gastrackApp.swift */,
- 0B5E3B432F75ACFB005F7F70 /* gastrack.app */,
+ 0B5E3B382F75ACD9005F7F70 /* overpassApp.swift */,
+ 0B5E3B432F75ACFB005F7F70 /* overpass.app */,
0B5E3B5D2F75C0B6005F7F70 /* gas.icon */,
);
sourceTree = "";
@@ -111,9 +111,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 0B5E3B342F75ACD9005F7F70 /* gastrack */ = {
+ 0B5E3B342F75ACD9005F7F70 /* overpass */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 0B5E3B402F75ACDA005F7F70 /* Build configuration list for PBXNativeTarget "gastrack" */;
+ buildConfigurationList = 0B5E3B402F75ACDA005F7F70 /* Build configuration list for PBXNativeTarget "overpass" */;
buildPhases = (
0B5E3B312F75ACD9005F7F70 /* Sources */,
0B5E3B322F75ACD9005F7F70 /* Frameworks */,
@@ -123,12 +123,12 @@
);
dependencies = (
);
- name = gastrack;
+ name = overpass;
packageProductDependencies = (
0B5E3B692F75F12D005F7F70 /* GRDB */,
);
- productName = gastrack;
- productReference = 0B5E3B432F75ACFB005F7F70 /* gastrack.app */;
+ productName = overpass;
+ productReference = 0B5E3B432F75ACFB005F7F70 /* overpass.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -146,7 +146,7 @@
};
};
};
- buildConfigurationList = 0B5E3B302F75ACD9005F7F70 /* Build configuration list for PBXProject "gastrack" */;
+ buildConfigurationList = 0B5E3B302F75ACD9005F7F70 /* Build configuration list for PBXProject "overpass" */;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
@@ -163,7 +163,7 @@
projectDirPath = "";
projectRoot = "";
targets = (
- 0B5E3B342F75ACD9005F7F70 /* gastrack */,
+ 0B5E3B342F75ACD9005F7F70 /* overpass */,
);
};
/* End PBXProject section */
@@ -197,7 +197,7 @@
0B5E3B622F75C40F005F7F70 /* PrefetchView.swift in Sources */,
0B5E3B572F75B002005F7F70 /* MapStationsView.swift in Sources */,
0B5E3B582F75B002005F7F70 /* KeychainService.swift in Sources */,
- 0B5E3B392F75ACD9005F7F70 /* gastrackApp.swift in Sources */,
+ 0B5E3B392F75ACD9005F7F70 /* overpassApp.swift in Sources */,
0B5E3B602F75C0F1005F7F70 /* StationStore.swift in Sources */,
0B5E3B6C2F76D765005F7F70 /* BackgroundRefreshService.swift in Sources */,
);
@@ -337,7 +337,7 @@
DEVELOPMENT_TEAM = M67B42LX8D;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_KEY_CFBundleDisplayName = Gastrack;
+ INFOPLIST_KEY_CFBundleDisplayName = "Overpass: Gas Prices";
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.navigation";
INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Used to find gas stations near you";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
@@ -350,7 +350,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.1.0;
- PRODUCT_BUNDLE_IDENTIFIER = sh.dunkirk.gastrack;
+ PRODUCT_BUNDLE_IDENTIFIER = sh.dunkirk.overpass;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
@@ -372,7 +372,7 @@
DEVELOPMENT_TEAM = M67B42LX8D;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_KEY_CFBundleDisplayName = Gastrack;
+ INFOPLIST_KEY_CFBundleDisplayName = "Overpass: Gas Prices";
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.navigation";
INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "Used to find gas stations near you";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
@@ -385,7 +385,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.1.0;
- PRODUCT_BUNDLE_IDENTIFIER = sh.dunkirk.gastrack;
+ PRODUCT_BUNDLE_IDENTIFIER = sh.dunkirk.overpass;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
@@ -400,7 +400,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 0B5E3B302F75ACD9005F7F70 /* Build configuration list for PBXProject "gastrack" */ = {
+ 0B5E3B302F75ACD9005F7F70 /* Build configuration list for PBXProject "overpass" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0B5E3B3E2F75ACDA005F7F70 /* Debug */,
@@ -409,7 +409,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 0B5E3B402F75ACDA005F7F70 /* Build configuration list for PBXNativeTarget "gastrack" */ = {
+ 0B5E3B402F75ACDA005F7F70 /* Build configuration list for PBXNativeTarget "overpass" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0B5E3B412F75ACDA005F7F70 /* Debug */,
diff --git a/overpass/overpass.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/overpass/overpass.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/overpass/overpass.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/gastrack/gastrack.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/overpass/overpass.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
similarity index 100%
rename from gastrack/gastrack.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
rename to overpass/overpass.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
diff --git a/gastrack/gastrackApp.swift b/overpass/overpassApp.swift
similarity index 99%
rename from gastrack/gastrackApp.swift
rename to overpass/overpassApp.swift
index 2a613d0..2187ad1 100644
--- a/gastrack/gastrackApp.swift
+++ b/overpass/overpassApp.swift
@@ -46,7 +46,7 @@ final class AppDelegate: NSObject, UIApplicationDelegate {
}
@main
-struct gastrackApp: App {
+struct overpassApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@StateObject private var api = APIClient.shared
@StateObject private var eia = EIAService.shared