Logo Lanfrica

kaleb-samuel/astu-marketplace

Domaine:

natural language processing

Type de record:

software
Créateur:
kal
Hôte:
Full-stack trilingual (English/Amharic/Afaan Oromo) marketplace for ASTU students — auth, real-time chat, listings, reviews, moderation. TypeScript, React, Express, Prisma, Socket.IO. 214 tests. # ASTU Marketplace A student marketplace platform for **Adama Science and Technology University (ASTU)** where students can buy, sell, and exchange goods and services within campus life. ## Quick Start ### Prerequisites - Node.js >= 20.0.0 - PostgreSQL 16+ - Docker & Docker Compose (recommended) ### Option 1: Docker Compose (recommended) ```bash # Start all services (PostgreSQL, Redis, backend, frontend) docker compose up # In another terminal, run migrations and seed docker compose exec backend npx prisma migrate deploy --schema=packages/backend/prisma/schema.prisma docker compose exec backend npx tsx packages/backend/prisma/seed.ts ``` ### Option 2: Local Development ```bash # Install dependencies npm install # Set up database cp packages/backend/.env.example packages/backend/.env # Edit .env with your local PostgreSQL credentials # Generate Prisma client and run migrations npm run db:migrate -w packages/backend # Seed database with demo data npm run db:seed -w packages/backend # Start development servers npm run dev:all ``` ### Demo Accounts | Email | Role | Password | |-------|------|----------| | admin@astu.edu.et | Admin | password123 | | abebe.kebede@astu.edu.et | Student | password123 | | fatuma.mohammed@astu.edu.et | Student | password123 | | daniel.tekle@astu.edu.et | Student | password123 | ## Architecture ``` ┌─────────────────────────────────────────────────────────┐ │ Frontend (React) │ │ Vite + TypeScript + Tailwind │ │ i18next (English, Amharic, Oromo) │ └─────────────────┬─────────────────────────┬──────────────┘ │ HTTP + WebSocket │ ┌─────────────────▼─────────────────────────▼──────────────┐ │ Backend (Express) │ │ TypeScript + Prisma ORM │ │ Controllers → Services → Prisma (Repository Layer) │ │ Socket.io (Real-time Chat) │ └ …