ReWear is a full-stack web application designed to promote sustainable fashion by allowing users to exchange pre-loved clothing through a smart, point-based economy. It was built from scratch in 8 hours for the Odoo Hackathon.
The application provides a complete, end-to-end user journey:
- Secure Authentication: Users can register and log in with a secure, session-based system. Passwords are an-way hashed with
bcrypt
. - Item Marketplace: Users can browse all approved items on a clean, responsive landing page.
- AI-Powered Listings: When listing a new item, our standout feature comes to life. A custom-built NLP service analyzes the item's title, description, and condition in real-time to suggest a fair point value, guiding users and balancing the platform's economy.
- Admin Moderation: A secure, admin-only panel allows for the moderation of all user-submitted items, ensuring quality and safety on the platform.
- Point-Based Redemption: The economic loop is closed with a transactional point-based redemption system. When a user redeems an item, points are securely transferred between users in an atomic database transaction.
- Dynamic User Dashboard: Logged-in users have a personal dashboard where they can see their current point balance, track the status of their listed items, and view their purchase history.
This project was engineered to meet and exceed the hackathon's judging criteria, focusing on robust backend design and professional coding standards.
-
Database Design:
- Custom Backend: Built with Node.js, Express, and SQLite. No Backend-as-a-Service (e.g., Firebase) was used.
- Relational Schema: Features a well-structured relational database with
Users
,Items
, andSwaps
tables linked by foreign keys. - Atomic Transactions: The critical point-redemption logic is wrapped in a
BEGIN TRANSACTION...COMMIT
block to guarantee data integrity, preventing race conditions or partial updates.
-
Coding Standards:
- Modular Architecture: The codebase is cleanly separated into services, routes, middleware, and database handlers, demonstrating a professional, maintainable structure.
- Full-Stack Validation: User input is validated on both the frontend (with JavaScript) and the backend (in the API) for robust security.
- Reusable Components: Authentication and file upload logic are abstracted into reusable middleware.
- Professional Tooling: ESLint was used to enforce a consistent code style, and a professional Git workflow with feature branches was used throughout development.
-
UI/UX Design:
- Responsive First: The entire UI, built with Pico.css and a custom CSS grid, is fully responsive and provides an excellent experience on both desktop and mobile devices.
- Context-Aware Navigation: The UI is smart, showing users only the most relevant actions based on their login status and the page they are currently on.
- Polished Feel: A consistent dark mode, clean layouts, and intuitive user flows create a professional, finished-product feel.
- Clone the repository:
git clone https://github.com/BlackIron007/odoo-hackathon
- Navigate into the directory:
cd odoo-hackathon
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser to
http://localhost:3000