All Projects → pjay79 → PhotosApp

pjay79 / PhotosApp

Licence: other
React Native Photos App: AWS Amplify, AWS S3, Mobile Analytics with Pinpoint

Programming Languages

javascript
184084 projects - #8 most used programming language
objective c
16641 projects - #2 most used programming language
java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PhotosApp

Amplify Js
A declarative JavaScript library for application development using cloud services.
Stars: ✭ 8,539 (+40561.9%)
Mutual labels:  analytics, aws-s3, pinpoint
Chafu
A photo browser and camera library for Xamarin.iOS
Stars: ✭ 36 (+71.43%)
Mutual labels:  photos, camera
photos
"Fx Fotos" is an opensource gallery app in react native with the same smoothness and features of Google Photos and Apple Photos. It is backend gnostic and connects to decentralized backends like "box", "Dfinity", "Filecoin" and "Crust".
Stars: ✭ 620 (+2852.38%)
Mutual labels:  photos, photo
QuickRawPicker
📷 QuickRawPicker is a free and open source program that lets you cull, pick or rate raw photos captured by your camera. It is also compatible with the XMP sidecar file used by Adobe Bridge/Lightroom/Darktable or PP3 sidecar file used by Rawtherapee.
Stars: ✭ 26 (+23.81%)
Mutual labels:  photos, camera
Camerafragment
A simple easy-to-integrate Camera Fragment for Android
Stars: ✭ 2,312 (+10909.52%)
Mutual labels:  photos, camera
Pynet
Generating RGB photos from RAW image files with PyNET
Stars: ✭ 211 (+904.76%)
Mutual labels:  photos, camera
GWLPhotoSelector
相册照片多张选择控件
Stars: ✭ 50 (+138.1%)
Mutual labels:  photos, photo
Annca
Android library to simplify work with camera for video and photo with using different camera apis.
Stars: ✭ 169 (+704.76%)
Mutual labels:  photos, camera
Lassi-Android
All in 1 picker library for android.
Stars: ✭ 108 (+414.29%)
Mutual labels:  camera, photo
CameraSlider
3D printed and smartphone controlled camera slider
Stars: ✭ 16 (-23.81%)
Mutual labels:  photos, camera
laravel-uppy-s3-multipart-upload
Multipart Uploads using Laravel, AWS S3, and Uppy
Stars: ✭ 30 (+42.86%)
Mutual labels:  aws-s3, upload
Exiftool Vendored.js
Fast, cross-platform Node.js access to ExifTool
Stars: ✭ 200 (+852.38%)
Mutual labels:  photos, photo
Gallery shell
📷 Bash Script to generate static responsive image web galleries.
Stars: ✭ 198 (+842.86%)
Mutual labels:  photos, photo
Agimagecontrols
cool tools for image edition
Stars: ✭ 217 (+933.33%)
Mutual labels:  photos, camera
Alcameraviewcontroller
A camera view controller with custom image picker and image cropping.
Stars: ✭ 2,023 (+9533.33%)
Mutual labels:  photos, camera
jiotty-photos-uploader
Uploads your media files to Google Photos creating albums based on the directory structure
Stars: ✭ 54 (+157.14%)
Mutual labels:  photos, upload
downscale
Better image downscale with canvas.
Stars: ✭ 80 (+280.95%)
Mutual labels:  upload, photo
Swiftycam
A Snapchat Inspired iOS Camera Framework written in Swift
Stars: ✭ 1,879 (+8847.62%)
Mutual labels:  photos, camera
Pynet Pytorch
Generating RGB photos from RAW image files with PyNET (PyTorch)
Stars: ✭ 169 (+704.76%)
Mutual labels:  photos, camera
TuSDK-for-Android-demo
TuSDK Android 图像 SDK Demo
Stars: ✭ 93 (+342.86%)
Mutual labels:  photos, camera

PhotosApp

React Native, AWS Amplify, AWS S3. Plus Mobile Analytics with Pinpoint. Please note: this is a work still in progress, and many features are not fully developed yet.

photos-screenflow

Screenshots

iOS

img_2410 img_2439 img_2411 img_2413 img_2419 img_2415 img_2437 img_2441 img_2445 img_2438

Technology stack:

  • aws-amplify-react-native
  • prop-types
  • react-native-app-intro-slider
  • react-native-camera
  • react-native-fetch-blob
  • react-native-share
  • react-native-splash-screen
  • react-native-vector-icons
  • react-navigation
  • rn-fetch-blob

Installation

React Native setup:

brew install node

This project is running with Node version 10.6.0.

brew install watchman
npm install -g react-native-cli

Project setup:

Clone the repo: git clone https://github.com/pjay79/PhotosApp.git
Change to the project folder: cd PhotosApp
Add dependencies: npm install or yarn

Amazon

Sign up to AWS Free Tier:
https://aws.amazon.com/free/

AWS Mobile CLI setup

(note: you will be directed to create a new IAM user and prompted to enter the accessKeyId and secretAccessKey, store these in a safe place):

npm install -g awsmobile-cli
awsmobile configure
awsmobile init (in the project folder)

awsmobile2

awsmobile user-files enable
awsmobile push
awsmobile console (opens the aws console in browser)

This project's source directory is 'app'.

AWS S3 setup:

Go to S3 and find your AWS S3 bucket (exact name can be seen in the aws-exports file). Select 'Permissions' and update the Bucket and CORS policy.

Bucket policy:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::{your-bucket-name}/*",
                "arn:aws:s3:::{your-bucket-name}"
            ]
        }
    ]
}

CORS configuration:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
    <ExposeHeader>x-amz-request-id</ExposeHeader>
    <ExposeHeader>x-amz-id-2</ExposeHeader>
    <ExposeHeader>ETag</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

AWS Analytics:

Select 'Mobile Analytics' in the AWS Services section. Check the Region Table to make sure Pinpoint is available in your country.

https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/

Launch

Connect your hardware device via USB.

Run on ios: react-native run-ios --device "iPhone"
Run on android: react-native run-android

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].