Skip to content

Commit

Permalink
Update V1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pelixpng committed Apr 18, 2024
1 parent 25aab4b commit 9dd1a3b
Show file tree
Hide file tree
Showing 54 changed files with 3,392 additions and 3,166 deletions.
31 changes: 7 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ website](https://pastvu.com/), [here's its GitHub
page](https://github.com/PastVu/pastvu).

The app has been developed using ReactNative, TypeScript, and Expo, making it
compatible with both Android and iOS platforms. Currently, only available for
Android on [Google
Play](https://play.google.com/store/apps/details?id=com.pelixpng.PastVuApp),
the iOS version will be released later.
compatible with both Android and iOS platforms. Available on [Google
Play](https://play.google.com/store/apps/details?id=com.pelixpng.PastVuApp) and [App Store](https://apps.apple.com/kz/app/pastvu-com/id6482482875).

PastVu is an online platform for gathering, geotagging, attributing and
discussing retro images. A look at the history of humanity habitat. The
Expand All @@ -22,7 +20,7 @@ well as contribute images and information to the archive. You can read more
about the project [here](https://docs.pastvu.com/en/about). Platform source
[code](https://github.com/PastVu).

# Screenshots
# Android

<p align="center">
<img src="img/1.png" width="250" />
Expand All @@ -42,52 +40,37 @@ about the project [here](https://docs.pastvu.com/en/about). Platform source
<img src="img/9.png" width="250" />
</p>

# IOS

<p align="center">
<img src="img/10.png" width="250" />
<img src="img/11.png" width="250" />
<img src="img/12.png" width="250" />
</p>

<details>
<summary><strong>MORE SCREENSHOTS</strong></summary>
<p align="center">
<img src="img/13.png" width="250" />
<img src="img/14.png" width="250" />
<img src="img/15.png" width="250" />
</p>

<p align="center">
<img src="img/16.png" width="250" />
<img src="img/17.png" width="250" />
<img src="img/18.png" width="250" />
</p>

<p align="center">
<img src="img/19.png" width="250" />
<img src="img/20.png" width="250" />
<img src="img/21.png" width="250" />
</p>
</details>

# Resources Used

- [TaigaUI](https://taiga-ui.dev/) components were used in the design;
- [PastVu API](https://docs.pastvu.com/dev/api) is used to get photos;
- The map API is provided by the [Google Maps
platform](https://developers.google.com/maps).
platform](https://developers.google.com/maps) and Apple Maps.

# Plans

- Add Yandex maps;
- Add other maps providers
- Add English language support;
- Optimize marker placement;
- Add marker customization;
- Add the news section;
- Add functionality to translate posts;
- Add the settings reset button;
- Add cache management;
- Add animations;
- Publish the app to the App Store.

# License

Expand Down
1 change: 1 addition & 0 deletions code/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { DarkTheme, LightTheme } from './src/components/theme/Theme'
import { observer } from 'mobx-react-lite'
import ThemeStore from './src/mobx/ThemeStore'
import { StatusBar } from 'react-native'
import 'react-native-gesture-handler'

export default observer(function App() {
const colorScheme = useColorScheme()
Expand Down
38 changes: 17 additions & 21 deletions code/android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
apply plugin: "com.android.application"
apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react"

def projectRoot = rootDir.getAbsoluteFile().getParentFile().getAbsolutePath()
Expand All @@ -11,11 +12,11 @@ react {
entryFile = file(["node", "-e", "require('expo/scripts/resolveAppEntry')", projectRoot, "android", "absolute"].execute(null, rootDir).text.trim())
reactNativeDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile()
hermesCommand = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc"
codegenDir = new File(["node", "--print", "require.resolve('@react-native/codegen/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile()
codegenDir = new File(["node", "--print", "require.resolve('@react-native/codegen/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile()

// Use Expo CLI to bundle the app, this ensures the Metro config
// works correctly with Expo projects.
cliFile = new File(["node", "--print", "require.resolve('@expo/cli')"].execute(null, rootDir).text.trim())
cliFile = new File(["node", "--print", "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })"].execute(null, rootDir).text.trim())
bundleCommand = "export:embed"

/* Folders */
Expand Down Expand Up @@ -79,15 +80,16 @@ def jscFlavor = 'org.webkit:android-jsc:+'
android {
ndkVersion rootProject.ext.ndkVersion

compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
compileSdk rootProject.ext.compileSdkVersion

namespace 'com.pelixpng.PastVuApp'
defaultConfig {
applicationId 'com.pelixpng.PastVuApp'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 8
versionName "1.5.1"
versionCode 9
versionName "1.6.0"

buildConfigField("boolean", "REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS", (findProperty("reactNative.unstable_useRuntimeSchedulerAlways") ?: true).toString())
}
Expand All @@ -112,6 +114,11 @@ android {
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
packagingOptions {
jniLibs {
useLegacyPackaging (findProperty('expo.useLegacyPackaging')?.toBoolean() ?: false)
}
}
}

// Apply static values from `gradle.properties` to the `android.packagingOptions`
Expand Down Expand Up @@ -141,33 +148,22 @@ dependencies {
def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true";
def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true";
def isWebpAnimatedEnabled = (findProperty('expo.webp.animated') ?: "") == "true";
def frescoVersion = rootProject.ext.frescoVersion

// If your app supports Android versions before Ice Cream Sandwich (API level 14)
if (isGifEnabled || isWebpEnabled) {
implementation("com.facebook.fresco:fresco:${frescoVersion}")
implementation("com.facebook.fresco:imagepipeline-okhttp3:${frescoVersion}")
}

if (isGifEnabled) {
// For animated gif support
implementation("com.facebook.fresco:animated-gif:${frescoVersion}")
implementation("com.facebook.fresco:animated-gif:${reactAndroidLibs.versions.fresco.get()}")
}

if (isWebpEnabled) {
// For webp support
implementation("com.facebook.fresco:webpsupport:${frescoVersion}")
implementation("com.facebook.fresco:webpsupport:${reactAndroidLibs.versions.fresco.get()}")
if (isWebpAnimatedEnabled) {
// Animated webp support
implementation("com.facebook.fresco:animated-webp:${frescoVersion}")
implementation("com.facebook.fresco:animated-webp:${reactAndroidLibs.versions.fresco.get()}")
}
}

debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
exclude group:'com.squareup.okhttp3', module:'okhttp'
}
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
implementation("com.facebook.react:flipper-integration")

if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
Expand All @@ -176,5 +172,5 @@ dependencies {
}
}

apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute(null, rootDir).text.trim(), "../native_modules.gradle");
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), "../native_modules.gradle");
applyNativeModulesAppBuildGradle(project)

This file was deleted.

5 changes: 2 additions & 3 deletions code/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
Expand All @@ -16,13 +15,13 @@
</intent>
</queries>
<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme" android:requestLegacyExternalStorage="true">
<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyAboOEQGb_eM7kUS3qRDVE8lrfDuKKJDp0"/>
<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyAs_GoYr2mN3hjs-VynJXeGpONtaA5GkXo"/>
<meta-data android:name="expo.modules.updates.ENABLED" android:value="true"/>
<meta-data android:name="expo.modules.updates.EXPO_RUNTIME_VERSION" android:value="@string/expo_runtime_version"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ALWAYS"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="0"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://u.expo.dev/e18d3b69-bdd0-4b43-a4e2-02847112f893"/>
<activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustPan" android:theme="@style/Theme.App.SplashScreen" android:exported="true" android:screenOrientation="portrait">
<activity android:name=".MainActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustPan" android:theme="@style/Theme.App.SplashScreen" android:exported="true" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
Expand Down

This file was deleted.

Loading

0 comments on commit 9dd1a3b

Please sign in to comment.