Welcome to PhotoSky! PhotoSky is a mini-project activity developed by the UML Cloud Computing Club. The purpose of this project is to demonstrate the use of AWS services to create a serverless application. PhotoSky is a simple cross-platform application that allows users to upload images to an S3 bucket and view them in a gallery. The application also allows users to download the images and view previews.
-
Clone the repository:
git clone https://github.com/UMLCloudComputing/photosky cd photosky
-
Install dependencies:
-
Install Python dependencies:
pip install -r requirements.txt
-
Install Node.js dependencies:
cd photosky npm install
-
Create npm build directory:
npm run build cd ..
-
-
Running the web application:
-
Start the backend:
cdk deploy
-
Start the frontend:
cd photosky npm start
This will start the web app frontend on
http://localhost:3000
. -
-
Running the mobile app:
If you want to launch the Android mobile app in Android Studio, run the npx cap commands below:
-
Sync the build output to the Android project:
npx cap sync
-
Launch the Android project in Android Studio:
npx cap open android
This will open the Android project in Android Studio, where you can build and run the app on an emulator or a physical device.
-
Check out our demo video to see PhotoSky in action:
PhotoSky_Demo.mp4
- Upload images to AWS S3
- View images in a gallery
- Download images
- View image previews
- Cross-platform support (Web and Android)
- Serverless architecture using AWS Lambda and API Gateway
- Frontend: React, Material-UI
- Backend: AWS Lambda, API Gateway, S3
- Infrastructure as Code: AWS CDK
- Mobile: Capacitor for Android integration
For a comprehensive guide on how to build and deploy PhotoSky, check out our detailed tutorial: https://umlcloudcomputing.org/docs/activities/PhotoSky/intro
The tutorial covers:
- Setting up the AWS environment
- Implementing the backend using AWS CDK
- Creating Lambda functions
- Developing the React frontend
- Integrating with Capacitor for Android support
- Testing and deployment
To get started with PhotoSky:
- Clone the repository
- Follow the setup instructions in the tutorial
- Deploy the backend using AWS CDK
- Run the frontend locally or build for production
For detailed instructions, please refer to our comprehensive tutorial linked above.
Contributions to PhotoSky are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or concerns, please open an issue on this repository.
Happy coding with PhotoSky! 📸🌤️