A modern web platform that enables users to exchange unused clothing through direct swaps or a point-based redemption system, promoting sustainable fashion and reducing textile waste.
Kabilash S - kabilash0108@gmail.com
Amit manoranjan udayar- amitmanoranjan2905@gmail.com
N S Dheepak Shakthi - nsdshakthi@gmail.com
Julian Aaron Raj - julianaaron1970@gmail.com
https://drive.google.com/file/d/1QMEN0W8ZbrBaAQpD3NlUthNmS8e1nIM9/view?usp=sharing
https://drive.google.com/file/d/1Ic-sNNiuo7v5WDsUiJIEmQtvnRlGL41z/view?usp=sharing
https://drive.google.com/file/d/1R_ySzco4bsAGCvOYtSAfv252eGVdVhXe/view?usp=sharing
- User Authentication: Secure email/password login and registration with JWT tokens
- Dashboard: Personal profile with points balance and item management
- Item Listing: Upload and manage clothing items with detailed descriptions
- Swap System: Direct item exchanges between users
- Points System: Earn and redeem points for clothing items (100 welcome points)
- Browse & Search: Discover items by category, size, condition, and more
- Responsive Design: Optimized for mobile, tablet, and desktop
- Content Moderation: Review and approve/reject item listings
- User Management: Monitor user activity and handle disputes
- Analytics Dashboard: Track platform usage and popular items
- Framework: Next.js 15+ with App Router
- Language: TypeScript
- Styling: Tailwind CSS + ShadCN UI Components
- Database: PostgreSQL with Prisma ORM
- Authentication: JWT-based authentication with bcrypt
- Forms: React Hook Form + Zod validation
- Icons: Lucide React
- Development: ESLint, Prettier (configured)
- Node.js 18+
- PostgreSQL 12+
- npm or yarn package manager
-
Clone the repository:
git clone https://github.com/Julian-Idl/ReWear.git cd rewear -
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
Edit
.envwith your configuration:# Database (replace with your PostgreSQL credentials) DATABASE_URL="postgresql://username:password@localhost:5432/rewear_db" # NextAuth NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="your-super-secret-jwt-signing-key-here"
-
Set up the database:
# Create database createdb rewear_db # Generate Prisma client npm run db:generate # Push schema to database npm run db:push
-
Run the development server:
npm run dev
-
Open the application: Visit http://localhost:3000 in your browser.
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
# Database
npm run db:generate # Generate Prisma client
npm run db:push # Push schema to database
npm run db:migrate # Run database migrations
npm run db:seed # Seed database with sample data
npm run db:reset # Reset database and reseed- JWT-based authentication with secure token signing
- Password hashing using bcrypt (12 rounds)
- Input validation with Zod schemas
- SQL injection protection via Prisma ORM
- Environment variable security
- Rate limiting (planned)
- Responsive Design: Mobile-first approach
- Dark Mode: Theme switching support (planned)
- Accessibility: WCAG 2.1 compliant components
- Modern UI: Clean, intuitive interface with ShadCN components
- Fast Loading: Optimized images and assets
- Push your code to GitHub
- Connect your repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
# Build Docker image
docker build -t rewear .
# Run container
docker run -p 3000:3000 rewear- 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
- Next.js for the amazing React framework
- Prisma for the excellent database toolkit
- ShadCN/UI for beautiful UI components
- Tailwind CSS for utility-first styling
- Lucide for the icon library
For support, please open an issue in the GitHub repository or contact the maintainers.