EcoSpark Hub is a revolutionary decentralized sustainability portal that empowers individuals and communities to share, discover, and support innovative ideas for a greener planet. Our platform serves as a bridge between visionary thinkers, environmental enthusiasts, and impact-driven investors, fostering collaboration to create real-world environmental solutions.
To democratize sustainability innovation by providing a comprehensive platform where eco-friendly ideas can flourish, gain community support, and secure funding to become reality.
- Idea Submission: Submit detailed proposals with problem statements, solutions, and supporting documentation
- Rich Media Support: Upload multiple images to showcase your ideas visually
- Community Engagement: Receive votes, comments, and feedback from the community
- Monetization Options: Set prices for premium ideas and access to detailed implementation guides
- Progress Tracking: Monitor idea status from draft to approval
- Idea Discovery: Browse curated ideas by category, popularity, and recency
- Voting System: Support ideas you believe in through our democratic voting mechanism
- Discussion Forums: Engage in meaningful conversations through comments and feedback
- Premium Access: Purchase detailed implementation plans for approved ideas
- Content Moderation: Review and approve/reject submitted ideas
- User Management: Manage user accounts, roles, and permissions
- Analytics Dashboard: Monitor platform metrics, user engagement, and idea performance
- Payment Processing: Oversee Stripe-based transactions and revenue tracking
- Authentication: Secure login with email/password and Google OAuth
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Dark Mode: Eye-friendly dark theme option
- Real-time Updates: Live notifications and dynamic content updates
- Newsletter Integration: Stay updated with the latest environmental innovations
- Next.js 16.1.7 - React framework for production-grade applications
- React 19.2.3 - Modern React with concurrent features
- TypeScript 5 - Type-safe JavaScript for better development experience
- Tailwind CSS 4 - Utility-first CSS framework
- Radix UI - Accessible, unstyled UI components
- Lucide React - Beautiful, consistent icon library
- Next Themes - Dark/light mode implementation
- TanStack Query 5.95.2 - Powerful data synchronization for React
- Axios 1.13.6 - HTTP client for API communications
- React Hook Form 7.72.0 - Performant forms with easy validation
- Zod 4.3.6 - TypeScript-first schema validation
- @hookform/resolvers 5.2.2 - Integration between React Hook Form and Zod
- Better Auth 1.5.6 - Modern authentication library with multiple providers
- Class Variance Authority 0.7.1 - Create variant-based component APIs
- clsx 2.1.1 - Conditional CSS classes utility
- Tailwind Merge 3.5.0 - Merge Tailwind CSS classes intelligently
- date-fns 4.1.0 - Modern JavaScript date utility library
- React CountUp 6.5.3 - Animated counter component
- React Intersection Observer 10.0.3 - Trigger animations on scroll
- Sonner 2.0.7 - Toast notifications
- ESLint 9 - Code linting and formatting
- PostCSS - CSS processing tool
- TypeScript - Type checking
eco-spark-client/
βββ src/
β βββ actions/ # Server actions for form submissions
β β βββ admin.actions.ts
β β βββ contact.actions.ts
β β βββ idea.actions.ts
β βββ app/ # Next.js app router pages
β β βββ (auth)/ # Authentication routes
β β βββ (dashboard)/ # Protected dashboard routes
β β βββ (marketing)/ # Public marketing pages
β β βββ globals.css # Global styles
β β βββ layout.tsx # Root layout
β β βββ not-found.tsx # 404 page
β βββ components/ # Reusable UI components
β β βββ auth/ # Authentication components
β β βββ features/ # Feature-specific components
β β βββ form/ # Form components
β β βββ home/ # Homepage sections
β β βββ layout/ # Layout components
β β βββ providers/ # React context providers
β β βββ shared/ # Shared components
β β βββ ui/ # Base UI components
β βββ config/ # Configuration files
β βββ data/ # Static data and constants
β βββ lib/ # Utility libraries
β βββ types/ # TypeScript type definitions
βββ public/ # Static assets
βββ eslint.config.mjs # ESLint configuration
βββ next.config.ts # Next.js configuration
βββ package.json # Dependencies and scripts
βββ postcss.config.mjs # PostCSS configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
- Node.js (version 18 or higher)
- pnpm (recommended) or npm/yarn
- Git for version control
-
Clone the repository
git clone <repository-url> cd eco-spark-client
-
Install dependencies
pnpm install # or npm install # or yarn install
-
Environment Setup Create a
.env.localfile in the root directory:NEXT_PUBLIC_API_URL=https://eco-spark-server.vercel.app NEXT_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_id NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
-
Run the development server
pnpm dev # or npm run dev # or yarn dev
-
Open your browser Navigate to http://localhost:3000 to see the application.
pnpm build
pnpm start- Homepage (
/) - Landing page with hero, features, testimonials, and pricing - About (
/about) - Company mission and team information - Blog (
/blog) - Environmental news and insights - Contact (
/contact) - Contact form and information - Ideas (
/ideas) - Browse public ideas - Pricing (
/pricing) - Subscription and premium access plans - Privacy Policy (
/privacy) - Privacy and data protection information - Terms of Service (
/terms) - Platform terms and conditions
- Login (
/login) - User authentication - Register (
/register) - New user registration
- Member Dashboard (
/member-dashboard) - Personal dashboard for members - Admin Dashboard (
/admin-dashboard) - Administrative control panel
pnpm dev- Start the development serverpnpm build- Build the application for productionpnpm start- Start the production serverpnpm lint- Run ESLint for code linting
The application is deployed on Vercel and can be accessed at:
- Live Application: https://eco-spark-client.vercel.app/
-
Connect to Vercel
- Import your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard
-
Build Settings
- Build Command:
pnpm build - Output Directory:
.next - Install Command:
pnpm install
- Build Command:
-
Environment Variables Set the following environment variables in your deployment platform:
NEXT_PUBLIC_API_URLNEXT_PUBLIC_GOOGLE_CLIENT_IDNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
We welcome contributions to EcoSpark Hub! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting PR
This project is licensed under the ISC License - see the LICENSE file for details.
Developed by: Shihab Uddin
- Portfolio: https://shihab-dev.web.app/
- LinkedIn: https://www.linkedin.com/in/shihab-dev
- Facebook: https://www.facebook.com/shihab.dev
- Thanks to the open-source community for the amazing tools and libraries
- Special thanks to environmental activists and innovators worldwide
- Gratitude to all contributors and early adopters
For support, email support@ecosparkhub.com or join our community Discord.
EcoSpark Hub - Sparking Ideas for a Greener Planet π±