Overview
A full-stack marketplace platform built for students to buy, sell, and exchange products and services with peer-to-peer delivery facilitation. This project combines marketplace functionality (Avito-style listings) with service exchange and delivery coordination.
Team project built during a hackathon with 2 other developers.
Architecture
┌─────────────────┐ HTTP/API ┌─────────────────┐
│ Frontend │ ◀──────────────────▶ │ Backend │
│ (Vanilla JS) │ │ (Node.js) │
│ │ │ │
│ • Search/filter │ │ • REST API │
│ • Theme toggle │ │ • File I/O │
│ • Modal forms │ │ • CORS handling │
└─────────────────┘ └────────┬────────┘
│
┌────────▼────────┐
│ JSON Store │
│ (listings) │
└─────────────────┘
What We Built
- Backend API: RESTful endpoints (GET/POST) with Express.js
- Data Layer: File-based JSON storage with full CRUD operations
- Auto-increment IDs: Database-like primary key logic without a real DB
- CORS Configuration: Cross-origin handling for frontend integration
- Frontend SPA: Dynamic rendering with vanilla JavaScript (no frameworks)
- Search & Filter: Real-time client-side filtering by category and keyword
- Theme System: Dark/light mode with CSS variables and localStorage persistence
- Image Handling: Validation with fallback to category-based defaults
- Form Validation: Input sanitization and error handling
Key Concepts
- Building REST APIs without database dependencies (file I/O)
- Async/await patterns and error handling in Node.js
- Vanilla JavaScript SPA architecture (component-like thinking)
- DOM manipulation and event delegation patterns
- CSS custom properties for theming
- Collaborative development with Git in a team setting