CommunityShare is an open-source platform that solves the real-world problem of resource waste and community disconnection by enabling neighbors to share items, skills, and services locally. Our mission is to promote sustainability, build stronger community bonds, and reduce waste through the power of sharing.
- Item Lending: Share tools, electronics, books, and household items
- Skill Exchange: Offer tutoring, repairs, consulting, and other services
- Service Marketplace: Connect neighbors for various tasks and projects
- Real-time Availability: Live updates on item and service availability
- Neighborhood Focus: Find resources within walking distance
- Smart Matching: AI-powered recommendations based on location and needs
- Interactive Maps: Visual representation of available resources nearby
- Distance Filtering: Search by proximity to optimize convenience
- User Profiles: Build trust through ratings, reviews, and verification
- Community Events: Organize and discover local gatherings and workshops
- Volunteer Opportunities: Connect with local causes and initiatives
- Discussion Forums: Neighborhood-specific communication channels
- Environmental Metrics: Track waste reduction and carbon footprint savings
- Community Stats: Monitor sharing activity and community growth
- Personal Dashboard: Individual impact tracking and achievements
- Sustainability Goals: Community-wide environmental targets
- User Verification: Multi-step verification process for safety
- Rating System: Comprehensive review and rating system
- Secure Messaging: Built-in chat system for safe communication
- Community Guidelines: Clear rules and moderation tools
- Node.js 18+
- npm or yarn
- Git
-
Clone the repository ```bash git clone https://github.com/yourusername/community-share.git cd community-share ```
-
Install dependencies ```bash npm install
yarn install ```
-
Set up environment variables ```bash cp .env.example .env.local ```
Fill in your environment variables: ```env NEXT_PUBLIC_APP_URL=http://localhost:3000 DATABASE_URL=your_database_url NEXTAUTH_SECRET=your_nextauth_secret NEXTAUTH_URL=http://localhost:3000 ```
-
Run the development server ```bash npm run dev
yarn dev ```
-
Open your browser Navigate to http://localhost:3000
This project now uses Supabase as its backend database. Prisma is no longer used.
- Set up Supabase
- Create a free account at supabase.com.
- Create a new project and get your
SUPABASE_URLandSUPABASE_ANON_KEYfrom the project settings. - Add these to your
.env.localfile:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
-
Configure environment variables Update your
.env.localfile with your database URL: ```env DATABASE_URL="postgresql://username:password@localhost:5432/communityshare?schema=public" ``` -
Generate Prisma client and run migrations ```bash npm run db:generate npm run db:push ```
-
Seed the database with sample data ```bash npm run db:seed ```
-
View your data (optional) ```bash npm run db:studio ```
- Frontend: Next.js 15, React 18, TypeScript
- Styling: Tailwind CSS, shadcn/ui components
- Database: PostgreSQL with Prisma ORM
- Authentication: NextAuth.js
- Real-time: WebSockets for live updates
- Maps: Mapbox/Google Maps integration
- Image Storage: Cloudinary/AWS S3
- Deployment: Vercel/Netlify
``` community-share/ โโโ app/ # Next.js 13+ app directory โ โโโ (auth)/ # Authentication pages โ โโโ browse/ # Browse items and services โ โโโ events/ # Community events โ โโโ profile/ # User profiles โ โโโ api/ # API routes โโโ components/ # Reusable UI components โ โโโ ui/ # shadcn/ui components โ โโโ forms/ # Form components โ โโโ layout/ # Layout components โโโ lib/ # Utility functions โโโ hooks/ # Custom React hooks โโโ types/ # TypeScript type definitions โโโ prisma/ # Database schema and migrations โโโ public/ # Static assets ```
We welcome contributions from developers of all skill levels! Here's how you can help:
- Check existing issues
- Create detailed bug reports with reproduction steps
- Suggest new features that align with our mission
- Fork the repository
- Create a feature branch ```bash git checkout -b feature/amazing-feature ```
- Make your changes
- Add tests (if applicable)
- Commit your changes ```bash git commit -m 'Add some amazing feature' ```
- Push to the branch ```bash git push origin feature/amazing-feature ```
- Open a Pull Request
- Frontend Development: React components, UI/UX improvements
- Backend Development: API endpoints, database optimization
- Mobile Development: React Native app (coming soon)
- DevOps: CI/CD, deployment, monitoring
- Design: UI/UX design, branding, illustrations
- Documentation: Technical docs, user guides, translations
- Testing: Unit tests, integration tests, E2E testing
- Accessibility: WCAG compliance, screen reader support
Look for issues labeled good first issue or help wanted to get started!
CommunityShare addresses several critical issues:
- Waste Reduction: Prevents thousands of items from ending up in landfills
- Carbon Footprint: Reduces manufacturing demand through sharing
- Resource Efficiency: Maximizes utilization of existing resources
- Cost Savings: Reduces need to purchase rarely-used items
- Local Economy: Keeps money within local communities
- Skill Monetization: Enables neighbors to earn from their expertise
- Community Connection: Strengthens neighborhood relationships
- Social Inclusion: Provides access to resources regardless of economic status
- Knowledge Sharing: Facilitates learning and skill development
- Basic sharing functionality
- User authentication and profiles
- Location-based search
- Rating and review system
- Community events
- Volunteer opportunities
- Discussion forums
- Group messaging
- Mobile app (React Native)
- AI-powered recommendations
- Integration with local businesses
- Multi-language support
- City-wide partnerships
- Impact measurement dashboard
- API for third-party integrations
- Franchise/white-label options
This project is licensed under the MIT License - see the LICENSE file for details.
- Contributors: Thank you to all our amazing contributors!
- Community: Grateful for our active user community
- Sponsors: Special thanks to our project sponsors
- Open Source: Built on the shoulders of giants in the open source community
Made with โค๏ธ by the community, for the community.
Together, we're building a more sustainable and connected world, one neighborhood at a time.