A simple app for uploading and signing images and files, with AWS S3 storage and Postgresql database integration.
ImageUploader is a web application designed for users to easily sign and upload images or other files to a cloud-based storage (AWS S3). The application is built using Spring Boot for the backend and React for the frontend. The file metadata is stored in a PostgreSQL database. It also provides Docker deployment capabilities for easy environment setup.
Key features:
- User Authentication – Users can sign in and upload images/files securely.
- AWS S3 Integration – Images and files are uploaded and stored in AWS S3.
- PostgreSQL Database – Stores file metadata and user info.
- Docker Deployment – Simplified setup for development, testing, and production environments.
- 📂 Image and File Upload – Easily upload and store images and other files.
- 📝 User Sign In – Secure user authentication to manage uploads.
- 💾 AWS S3 Storage – Images and files are stored on AWS S3, ensuring scalability and security.
- 🗄️ PostgreSQL Database – Metadata like filenames and user information are saved in a PostgreSQL database.
- 🚀 Docker-Ready – The app is containerized with Docker for easy deployment.
To set up the project locally, follow these steps:
git clone https://github.com/yourusername/image-uploader.git
cd ImageUploader
- Install dependencies for React frontend Navigate to the frontend directory and install dependencies:
cd frontend
npm install
- Set up the Backend (Spring Boot): Navigate to the backend directory and install the required dependencies for the Spring Boot application:
cd backend
./mvnw install
Make sure to configure your AWS S3 and PostgreSQL settings in the application.properties or .env file. You'll need to add your AWS access keys and PostgreSQL database credentials.
- Run the Application Locally: Frontend:
cd frontend
npm run dev
Backend (Spring Boot):
cd backend
./mvnw spring-boot:run
The app should now be running on your local machine.