A full-stack application for securely uploading, storing, and managing photos. The project consists of a React frontend and a Python backend, with support for authentication, cloud storage, and a modern user experience.
- Features
- Project Structure
- Getting Started
- Backend Setup
- Frontend Setup
- Environment Variables
- API Integration
- Testing
- License
- Contact
- User authentication
- Secure photo uploads
- Cloud storage integration (Azure Blob)
- View and manage your uploads
- Responsive React frontend
- RESTful backend API
backend/
auth.py
azure_blob.py
db.py
main.py
models.py
requirements.txt
upload.py
uploads/
frontend/
api-server.js
package.json
README.md
server.js
public/
src/
- Python 3.8+
- Node.js (v14+ recommended)
- npm or yarn
- Navigate to the
backenddirectory:cd backend
- (Recommended) Create a virtual environment:
python -m venv venv .\venv\Scripts\activate - Install dependencies:
pip install -r requirements.txt - Set up environment variables in a
.envfile (see below). - Start the backend server:
cd backend uvicorn main:app --reload
- Navigate to the
frontenddirectory:cd frontend
- Install dependencies:
npm install
- Start the frontend development server:
The app will be available at
npm run dev
http://localhost:3000.
AZURE_STORAGE_CONNECTION_STRING=your_connection_string
SECRET_KEY=your_secret_key
DATABASE_URL=your_database_url
# Auth0 Configuration
AUTH0_DOMAIN=''
API_IDENTIFIER=''
ALGORITHMS=''
# PostgreSQL Configuration
DATABASE_URL=postgresql://username:password@localhost/db_name