Live Demo: https://kindlevent-sh.web.app/
- Project Overview
- Features
- Tech Stack & Dependencies
- Installation & Setup
- Environment Variables
- Available Scripts
- Folder Structure
- Responsive Design
- Deployment
- Author
Kindlevent is a community-driven social service events platform. Users can:
- Discover and join upcoming local events (cleanups, tree plantations, donations, etc.)
- Create and manage their own events
- Toggle between light and dark themes
- Securely authenticate with email/password or Google
This client application is built with React and deployed on Firebase.
-
Event Management
- Create events with future-date validation
- View upcoming events in a responsive grid
- Join events and track joined events
- Manage (edit) events you created
-
Search & Filter
- Search events by title
- Filter events by type (Cleanup, Plantation, Donation, etc.)
-
UI/UX Enhancements
- Theme toggle (light/dark mode)
- Toast and SweetAlert2 notifications
- Date picker with
react-datepicker - Loader animations with
lottie-react
-
Static Sections
- Banner & Features section
- Gallery showcase
- Newsletter subscription form (UI only)
- Framework: React (via Vite)
- Routing: react-router@^7.6.2
- State & API: axios@^1.9.0
- Styling: Tailwind CSS@^4.1.8, daisyUI@^5.0.43
- Date Handling: date-fns@^4.1.0, react-datepicker@^8.4.0
- Icons & Animations: lucide-react@^0.514.0, react-icons@^5.5.0, lottie-react@^2.4.1, react-simple-typewriter@^5.0.1
- Notifications: react-toastify@^11.0.5, sweetalert2@^11.22.0
- Firebase: firebase@^11.9.0
- Theme Control: theme-change@^2.5.0
For the full list, see
package.jsondependencies.
-
Clone the repository
git clone https://github.com/<your-username>/kindlevent-client.git cd kindlevent-client
-
Install dependencies
npm install
-
Configure environment
- Copy
.env.local.exampleto.env.local - Add your Firebase project credentials
- Copy
-
Start development server
npm run dev
-
Open your browser and navigate to
http://localhost:5173.
Create a file named .env.local at the root of the project with the following variables:
VITE_API_BASE_URL=https://kindlevent-server.vercel.app
VITE_FIREBASE_API_KEY=<YOUR_FIREBASE_API_KEY>
VITE_FIREBASE_AUTH_DOMAIN=<YOUR_FIREBASE_AUTH_DOMAIN>
VITE_FIREBASE_PROJECT_ID=<YOUR_FIREBASE_PROJECT_ID>
VITE_FIREBASE_STORAGE_BUCKET=<YOUR_FIREBASE_STORAGE_BUCKET>
VITE_FIREBASE_MESSAGING_SENDER_ID=<YOUR_FIREBASE_MESSAGING_SENDER_ID>
VITE_FIREBASE_APP_ID=<YOUR_FIREBASE_APP_ID>
Note: Ensure
.env.localis added to.gitignoreto keep credentials secure.
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewkindlevent-client/
├── public/ # Static assets
├── src/
│ ├── assets/ # Images, icons, Lottie files
│ ├── components/ # Reusable UI components
│ ├── contexts/ # Auth & theme context
│ ├── pages/ # Route components
│ ├── services/ # API call functions
│ ├── styles/ # Global styles (Tailwind config)
│ ├── utils/ # Helper functions
│ ├── App.jsx # App root
│ └── main.jsx # Entry point
├── .env.local # Environment variables (ignored)
├── firebase.json # Firebase hosting config
├── vite.config.js # Vite configuration
└── README.md # Project documentation
This application is built mobile-first and has been tested on:
- Mobile: Any 320px+ width
- Tablet: 768px+ width
- Desktop: 1024px+ width
All components adapt fluidly across different viewports.
This client is deployed to Firebase Hosting:
# To deploy
npm run build
firebase deployEnsure your Firebase project has
https://kindlevent-sh.web.appauthorized under Hosting settings.
Maksudur Rahman GitHub: github.com/code-shams
Happy coding!