Skip to content

Commit cb51f35

Browse files
committed
git readme and some changes
1 parent 092e3be commit cb51f35

File tree

5 files changed

+246
-212
lines changed

5 files changed

+246
-212
lines changed

README.md

+142-156
Original file line numberDiff line numberDiff line change
@@ -1,198 +1,184 @@
1-
# Wedding Photo Gallery App
2-
3-
A React-based web application that allows wedding guests to upload photos and participate in photo challenges. The app uses Google Drive for storage and features both general photo uploads and specific photo challenges.
4-
5-
## Features
6-
7-
- Multiple photo upload (up to 30 photos at once)
8-
- Photo challenges with progress tracking
9-
- Device and browser detection
10-
- Admin view for all photos
11-
- Progress bars for uploads
12-
- Mobile-friendly design
13-
- Local storage for challenge completion status
14-
- Google Drive integration for photo storage
1+
# Wedding Photo Sharing App
2+
3+
A real-time photo sharing application designed for weddings and engagement celebrations, allowing guests to upload photos, participate in photo challenges, and interact through likes, comments, and voting.
4+
5+
## 🌟 Features
6+
7+
- **Photo Upload System**
8+
- Direct photo uploads with progress tracking
9+
- Support for multiple file selection
10+
- File size and type validation
11+
- Mobile-optimized upload experience
12+
- Automatic device detection
13+
14+
- **Challenge System**
15+
- Pre-defined photo challenges for guests
16+
- Private and public challenge options
17+
- Real-time challenge leaderboards
18+
- Voting system with one vote per challenge
19+
- Challenge completion tracking
20+
21+
- **Social Features**
22+
- Like and comment on photos
23+
- Photo voting in challenges
24+
- Interactive leaderboards
25+
- Real-time updates
26+
- User engagement metrics
27+
28+
- **Admin Dashboard**
29+
- Comprehensive photo management
30+
- User activity tracking
31+
- Challenge monitoring
32+
- Export functionality
33+
- Analytics and statistics
34+
35+
- **User Experience**
36+
- Responsive design for all devices
37+
- Intuitive navigation
38+
- Real-time progress indicators
39+
- Toast notifications
40+
- Image optimization
41+
42+
## 🛠️ Technical Stack
43+
44+
### Frontend
45+
- React
46+
- Tailwind CSS
47+
- Lucide Icons
48+
- Framer Motion
49+
- Recharts
50+
- ShadcnUI Components
1551

16-
## Prerequisites
52+
### Backend
53+
- Node.js
54+
- Express
55+
- SQLite
56+
- Multer
57+
- CORS
1758

18-
Before you begin, ensure you have installed:
19-
- [Node.js](https://nodejs.org/) (version 14 or higher)
20-
- npm (comes with Node.js)
59+
## 🚀 Getting Started
2160

22-
You'll also need:
23-
- A Google Cloud Console account
24-
- Google Drive API enabled
25-
- OAuth 2.0 Client ID and API Key
61+
### Prerequisites
62+
- Node.js (v14 or higher)
63+
- npm or yarn
2664

27-
## Setup
65+
### Installation
2866

29-
1. Clone the repository:
67+
1. Clone the repository
3068
```bash
31-
git clone <your-repository-url>
32-
cd wedding-photo-app
69+
git clone https://github.com/yourusername/wedding-photo-app.git
3370
```
3471

35-
2. Install dependencies:
72+
2. Install frontend dependencies
3673
```bash
74+
cd wedding-photo-app
3775
npm install
3876
```
3977

40-
3. Create your Google Cloud Console project:
41-
- Go to [Google Cloud Console](https://console.cloud.google.com)
42-
- Create a new project
43-
- Enable the Google Drive API
44-
- Create OAuth 2.0 credentials
45-
- Add authorized JavaScript origins:
46-
```
47-
http://localhost:5173
48-
http://localhost
49-
```
50-
51-
4. Update the constants in `App.jsx`:
52-
```javascript
53-
const GOOGLE_CLIENT_ID = 'YOUR_CLIENT_ID';
54-
const API_KEY = 'YOUR_API_KEY';
55-
const ADMIN_PASSWORD = 'your-chosen-password';
56-
```
57-
58-
5. Run the development server:
78+
3. Install backend dependencies
5979
```bash
60-
npm run dev
80+
cd server
81+
npm install
6182
```
6283

63-
The app should now be running at `http://localhost:5173`
64-
65-
## Development
66-
67-
To start the development server:
84+
4. Create environment variables
6885
```bash
69-
npm run dev
86+
cp .env.example .env
7087
```
7188

72-
To build for production:
89+
5. Start the development server
7390
```bash
74-
npm run build
75-
```
91+
# Start backend server
92+
cd server
93+
npm run dev
7694

77-
To preview the production build:
78-
```bash
79-
npm run preview
95+
# Start frontend in a new terminal
96+
cd ../
97+
npm run dev
8098
```
8199

82-
## Project Structure
100+
## 📁 Project Structure
83101

84102
```
85103
wedding-photo-app/
86104
├── src/
87-
│ ├── App.jsx # Main application component
88-
│ ├── main.jsx # Entry point
89-
│ └── index.css # Global styles
90-
├── public/ # Static assets
91-
├── index.html # HTML template
92-
├── vite.config.js # Vite configuration
93-
├── package.json # Project dependencies
94-
└── README.md # This file
105+
│ ├── components/
106+
│ │ ├── AdminDashboard.jsx
107+
│ │ ├── AdminView.jsx
108+
│ │ ├── ChallengeInteractions.jsx
109+
│ │ ├── ChallengeLeaderboard.jsx
110+
│ │ ├── EnhancedAdminGallery.jsx
111+
│ │ ├── OptimizedImage.jsx
112+
│ │ ├── PhotoUploader.jsx
113+
│ │ ├── SocialFeatures.jsx
114+
│ │ └── VotingSystem.jsx
115+
│ ├── App.jsx
116+
│ └── main.jsx
117+
├── server/
118+
│ └── server.js
119+
└── public/
95120
```
96121

97-
## Configuration Files
98-
99-
### vite.config.js
100-
```javascript
101-
import { defineConfig } from 'vite'
102-
import react from '@vitejs/plugin-react'
103-
104-
export default defineConfig({
105-
plugins: [react()],
106-
server: {
107-
host: '0.0.0.0',
108-
port: 5173,
109-
strictPort: true,
110-
hmr: {
111-
host: '0.0.0.0',
112-
port: 5173
113-
},
114-
watch: {
115-
usePolling: true
116-
}
117-
}
118-
})
119-
```
122+
## 🔑 Key Features Explained
120123

121-
## Dependencies
124+
### Photo Upload System
125+
- Supports both single and multiple photo uploads
126+
- Handles file validation and size restrictions
127+
- Progress tracking for uploads
128+
- Device-specific optimizations
122129

123-
- React
124-
- Vite
125-
- Tailwind CSS
126-
- Google Drive API
127-
- lucide-react (for icons)
130+
### Challenge System
131+
- Configurable photo challenges
132+
- Private challenges for sensitive content
133+
- Public challenges with voting and leaderboards
134+
- Real-time challenge status updates
135+
136+
### Admin Features
137+
- Complete photo management
138+
- User activity monitoring
139+
- Challenge administration
140+
- Data export capabilities
141+
- Analytics dashboard
128142

129-
## Features in Detail
143+
## 🔒 Security Features
130144

131-
### Photo Upload
132-
- Multiple file selection
133-
- Progress tracking
134145
- File type validation
135-
- Size limits (10MB per file)
136-
- Automatic Google Drive folder creation
137-
138-
### Photo Challenges
139-
- Predefined photo challenges
140-
- Progress tracking
141-
- Completion status saved locally
142-
- Visual feedback for completed challenges
143-
144-
### Admin View
145-
- Password protected
146-
- Access to all uploaded photos
147-
- Device information display
148-
- Upload metadata
149-
150-
## Usage
151-
152-
1. Enter your name to login
153-
2. Choose between general upload or photo challenges
154-
3. For general upload:
155-
- Select up to 30 photos
156-
- View upload progress
157-
- Remove selected files if needed
158-
4. For challenges:
159-
- Select a challenge
160-
- Upload a photo
161-
- Track completion status
162-
5. Admin access:
163-
- Click "Admin Access"
164-
- Enter password
165-
- View all uploaded photos
166-
167-
## Troubleshooting
168-
169-
If you encounter issues:
170-
1. Check browser console for errors
171-
2. Verify Google Cloud Console credentials
172-
3. Ensure all required APIs are enabled
173-
4. Clear browser cache and cookies
174-
5. Check file sizes and types
175-
176-
## Contributing
146+
- Size restrictions
147+
- CORS configuration
148+
- Rate limiting
149+
- Admin authentication
150+
- Private challenge protection
151+
152+
## 📱 Mobile Support
153+
154+
The application is fully responsive and optimized for mobile devices with:
155+
- Touch-friendly interfaces
156+
- Optimized upload experience
157+
- Mobile-first design
158+
- Device-specific features
159+
- Progressive loading
160+
161+
## 🤝 Contributing
177162

178163
1. Fork the repository
179-
2. Create your feature branch
180-
3. Commit your changes
181-
4. Push to the branch
164+
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
165+
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
166+
4. Push to the branch (`git push origin feature/AmazingFeature`)
182167
5. Open a Pull Request
183168

184-
## License
169+
## 📄 License
170+
171+
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
185172

186-
This project is licensed under the MIT License - see the LICENSE file for details
173+
## 👥 Authors
187174

188-
## Acknowledgments
175+
- SlyRix - *Initial work* - [SlyRix](https://github.com/SlyRix/wedapp)
189176

190-
- Thanks to the React team
191-
- Google Drive API documentation
192-
- Tailwind CSS team
193-
- Vite team
177+
## 🙏 Acknowledgments
194178

195-
## Contact
179+
- [React](https://reactjs.org/)
180+
- [Tailwind CSS](https://tailwindcss.com/)
181+
- [Lucide Icons](https://lucide.dev/)
182+
- [ShadcnUI](https://ui.shadcn.com/)
183+
- All contributors who have helped shape this project
196184

197-
Your Name - your.email@example.com
198-
Project Link: [https://github.com/yourusername/wedding-photo-app](https://github.com/yourusername/wedding-photo-app)

index.html

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5+
<meta property="og:title" content="Rushel & Sivanis Engagements Photos" />
6+
<meta property="og:type" content="website" />
7+
<meta property="og:url" content="https://rs-engagement-photos.slyrix.com/" />
8+
<meta property="og:image" content="/LOGO_QUALI.png" />
59
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
610
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
711
<title>Engagement Photo App</title>

public/LOGO_QUALI.png

231 KB
Loading

public/vite.svg

+36-1
Loading

0 commit comments

Comments
 (0)