Live Site: Awaaz
Your voice has the power to spark change. Awaaz empowers individuals and communities to take action on issues that matter. With this, you can mobilize support, raise awareness, and influence decision-makers.
- Frontend & Backend: Next.js
- Database: Firebase (Firestore)
- OTP Verification: Fast2SMS service
- UI Components: Preline UI
- Animations: Framer Motion
- Graphs & Charts: Recharts.js
- CDN & Image Optimization: Imagekit.io
- Drag-and-Drop Petition Builder 🖱️: A sleek UI that allows users to create petitions visually, add images/videos, and format text easily.
- Secure Authentication & Verification 🔐: Users sign petitions via OAuth (Google/GitHub) and OTP.
- Real-Time Signature Updates 📈: Display live petition updates using WebSockets.
- Interactive Petition Analytics 📊: A dashboard with dynamic charts & maps (Recharts/D3.js) to show growth trends, demographics, and engagement heatmaps.
- Social Media API Integration 📱: Allow users to share petitions directly to Twitter, LinkedIn, and WhatsApp using meta tags and Open Graph for rich previews.
- Geolocation-Based Petitions 🌍: Only allow users in relevant regions to sign petitions based on their IP address or GPS location (HTML5 Geolocation API).
- Role-Based Access Control (RBAC) 🛡️: Different user roles: Petition Creators, Signers, Moderators, and Government/NGO Officials with custom dashboards.
- Server-Side Rendering (SSR) & SEO Optimization ⚡: Ensures fast load times and improved search engine rankings.
- Automated AI Petition Generator ⚡: To automatically generate an entire petition for you with just a prompt
To get a local copy up and running follow these simple steps:
- Make sure you have npm installed on your local machine.
- Clone the repo
git clone https://github.com/hazraChandrima/awaaz.git cd awaaz/
- Install NPM packages
npm install
- Start the development server
npm run dev
Create a .env.local
file in the root directory and add the following environment variables:
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key
IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key
IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key
IMAGEKIT_URL_ENDPOINT=your_imagekit_url_endpoint
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTHDOMAIN=your_firebase_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECTID=your_firebase_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=your_firebase_measurement_id
NEXT_PUBLIC_FAST2SMS_API_KEY=your_fast2sms_api_key