CloudIn is a full-stack application designed to let users upload, view, and manage images in the cloud. It features a Spring Boot backend and an Expo (React Native) frontend.
- ✨ Introduction
 - 🚀 Get Started
 - 🔐 Environment Variables
 - 📂 Project Structure
 - 🛠️ Technologies Used
 - 🔗 Live Project
 
CloudIn is a cloud-based image storing platform that allows users to:
- Upload and delete images
 - View images in a gallery
 - Persist image data securely using MongoDB and Cloudinary
 
It is composed of:
- A Spring Boot backend for image and user API
 - An Expo React Native frontend for mobile and web interface
 
- 
Clone the repo:
git clone https://github.com/your-username/cloud_in.git cd cloud_in/cloud_in_backend - 
Install dependencies and run:
- 
Using Maven:
./mvnw spring-boot:run
 - 
Or via your IDE (IntelliJ/VSCode): Run
CloudInBackendApplication.java 
 - 
 
- 
Navigate to frontend directory:
cd cloud_in/cloud_in_frontend - 
Install dependencies:
npm install
 - 
Set up your environment variables (see below)
 - 
Start the app:
npx expo start
 
Place in
cloud_in_frontend/.env
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=
EXPO_PUBLIC_API_BASE_URL=
EXPO_PUBLIC_API_MEDIA_URL=
EXPO_PUBLIC_MAX_UPLOADS=Place in
cloud_in_backend/src/main/resources/application.properties
spring.application.name=
spring.data.mongodb.uri=
server.address=
server.port=
spring.servlet.multipart.max-file-size=
spring.servlet.multipart.max-request-size=.env and .gitignore to keep them secure.
cloud_in/
│
├── cloud_in_backend/     # Spring Boot backend
│   └── src/main/java/... # Controllers, Models, Repos
│
├── cloud_in_frontend/    # Expo React Native frontend
│   └── app/              # UI and screens
│
├── .gitignore
└── README.md
- Frontend: Expo + React Native + NativeWind + React push Notification
 - Backend: Spring Boot + MongoDB + Cloudinary
 - Auth: Clerk.dev
 - Database: MongoDB Atlas
 - Image Hosting: Cloudinary
 
https://drive.google.com/drive/folders/15RdvFFPdvnVCiRFUjsaIUZptgxrxjvEB?usp=sharing
