A modern, decentralized platform for funding innovative projects with cryptocurrency. Built with Next.js, TypeScript, and blockchain technology.
- Decentralized Funding: Fund projects using cryptocurrency with smart contract automation
- Project Management: Create, manage, and track project milestones
- Investment Tracking: Monitor your investments and project progress
- User Profiles: Complete user profiles with skills, experience, and social links
- Real-time Updates: Live funding progress and milestone tracking
- Responsive Design: Modern, mobile-first UI built with Tailwind CSS
- Wallet Integration: Seamless Ethereum wallet connection
- Caching System: Optimized performance with browser caching
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Modern component library
- Lucide React - Beautiful icons
- Jotai - Lightweight state management
- Axios - HTTP client for API calls
- Zod - Schema validation
- Wagmi - React hooks for Ethereum
- Viem - TypeScript interface for Ethereum
- Ethers.js - Ethereum library
- Browser Local Storage - Client-side caching
- LRU Cache - Server-side caching (ready for backend)
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
src/
βββ app/ # Next.js App Router pages
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
β βββ projects/ # Projects listing
β βββ invested-projects/ # User's invested projects
β βββ my-projects/ # User's created projects
β βββ publish/ # Project creation form
β βββ project/[id]/ # Individual project details
β βββ profile/ # User profile
β βββ error.tsx # Global error page
β βββ not-found.tsx # 404 page
βββ components/ # Reusable UI components
β βββ ui/ # Shadcn/ui components
β βββ header.tsx # Navigation header
β βββ footer.tsx # Site footer
β βββ providers.tsx # Context providers
β βββ project-card.tsx # Project display component
βββ lib/ # Utility functions and hooks
β βββ utils.ts # General utilities
β βββ calculations.ts # Business logic calculations
β βββ browserCache.ts # Local storage caching
β βββ hooks.ts # Custom data fetching hooks
βββ store/ # Jotai state management
β βββ global.ts # Global state atoms
βββ types/ # TypeScript type definitions
βββ global.ts # Global types and schemas
- Node.js 18+
- npm or yarn
- Modern web browser with MetaMask or similar wallet
-
Clone the repository
git clone <repository-url> cd fundify
-
Install dependencies
npm install
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
Create a .env.local file in the root directory:
# Database (for future backend implementation)
MONGODB_URI=your_mongodb_connection_string
# Ethereum (for future smart contract integration)
NEXT_PUBLIC_CONTRACT_ADDRESS=your_smart_contract_address
NEXT_PUBLIC_CHAIN_ID=1
# API Keys (for future external services)
NEXT_PUBLIC_API_URL=your_api_url- Hero section with platform overview
- Feature highlights
- Statistics and call-to-action
- Modern gradient design
- Browse all available projects
- Search and filter functionality
- Grid and list view options
- Project status indicators
- View projects you've invested in
- Investment statistics dashboard
- Progress tracking
- Only visible if user has investments
- Manage your created projects
- Project creation statistics
- Quick access to project management
- Only visible if user has projects
- Comprehensive project creation form
- Milestone configuration
- Team member management
- Form validation with Zod
- Detailed project information
- Funding progress visualization
- Milestone tracking
- Team member information
- Investment actions
- Complete user profile management
- Skills and experience editing
- Social media links
- Investment statistics
- Wallet information
- Create component in
src/components/ - Follow Shadcn/ui patterns
- Use TypeScript interfaces
- Include proper error handling
- Use Tailwind CSS classes
- Follow the design system in
globals.css - Use CSS variables for theming
- Maintain responsive design
- Use Jotai atoms in
src/store/ - Create derived atoms for computed values
- Follow atomic design principles
- Implement proper error states
# Run tests (when implemented)
npm test
# Run type checking
npm run type-check
# Run linting
npm run lintnpm run devnpm run build
npm startnpm run export- Input validation with Zod schemas
- XSS protection with proper escaping
- CSRF protection (implement in backend)
- Secure wallet connection handling
- Environment variable protection
- MongoDB integration with Mongoose
- RESTful API endpoints
- Smart contract integration
- Real-time updates with WebSockets
- Multi-chain support
- Advanced analytics dashboard
- Social features and comments
- Mobile app development
- Advanced search and filtering
- Image optimization
- Code splitting
- Service worker implementation
- CDN integration
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Shadcn/ui for the beautiful component library
- Tailwind CSS for the utility-first CSS framework
- Lucide for the amazing icons
- Next.js for the powerful React framework
For support and questions:
- Create an issue in the repository
- Email: support@fundify.com
- Documentation: docs.fundify.com
Built with β€οΈ for the decentralized future