|
Some checks failed
CI/CD Pipeline / Integration Tests (push) Blocked by required conditions
CI/CD Pipeline / Deployment Summary (push) Blocked by required conditions
CI/CD Pipeline / Backend - Build, Test & Push (push) Failing after 2m5s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Has been cancelled
Changed baseUrl from "./" to "./src" and updated paths to be relative to src directory. This allows TypeScript to correctly resolve imports using @domain/*, @application/*, and @infrastructure/* aliases during compilation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .github/workflows | ||
| apps | ||
| docker | ||
| infra/postgres | ||
| postman | ||
| scripts | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc | ||
| 1536w default.svg | ||
| add-email-to-csv.py | ||
| ARCHITECTURE.md | ||
| BOOKING_WORKFLOW_TODO.md | ||
| CARRIER_API_RESEARCH.md | ||
| CLAUDE.md | ||
| COMPLETION-REPORT.md | ||
| CSV_API_TEST_GUIDE.md | ||
| CSV_BOOKING_WORKFLOW_TEST_PLAN.md | ||
| CSV_RATE_SYSTEM.md | ||
| DASHBOARD_API_INTEGRATION.md | ||
| DEPLOYMENT.md | ||
| docker-compose.dev.yml | ||
| docker-compose.test.yml | ||
| docker-compose.yml | ||
| elementmissingphase2.md | ||
| EMAIL_IMPLEMENTATION_STATUS.md | ||
| GUIDE_TESTS_POSTMAN.md | ||
| IMPLEMENTATION_COMPLETE.md | ||
| IMPLEMENTATION_SUMMARY.md | ||
| INDEX.md | ||
| INSTALLATION-COMPLETE.md | ||
| INSTALLATION-STEPS.md | ||
| MANUAL_TEST_INSTRUCTIONS.md | ||
| NEXT-STEPS.md | ||
| package.json | ||
| PHASE2_AUTHENTICATION_SUMMARY.md | ||
| PHASE2_BACKEND_COMPLETE.md | ||
| PHASE2_COMPLETE_FINAL.md | ||
| PHASE2_COMPLETE.md | ||
| PHASE2_FINAL_PAGES.md | ||
| PHASE2_FRONTEND_PROGRESS.md | ||
| PHASE3_COMPLETE.md | ||
| PHASE4_REMAINING_TASKS.md | ||
| PHASE4_SUMMARY.md | ||
| PHASE-1-PROGRESS.md | ||
| PHASE-1-WEEK5-COMPLETE.md | ||
| PRD.md | ||
| PROGRESS.md | ||
| QUICK-START.md | ||
| README.md | ||
| READY_FOR_TESTING.md | ||
| READY.md | ||
| RESUME_FRANCAIS.md | ||
| SESSION_SUMMARY.md | ||
| SPRINT-0-COMPLETE.md | ||
| SPRINT-0-FINAL.md | ||
| SPRINT-0-SUMMARY.md | ||
| START-HERE.md | ||
| TEST_COVERAGE_REPORT.md | ||
| TEST_EXECUTION_GUIDE.md | ||
| TODO.md | ||
| USER_DISPLAY_SOLUTION.md | ||
| USER_INFO_DEBUG_ANALYSIS.md | ||
| WINDOWS-INSTALLATION.md | ||
Xpeditis - Maritime Freight Booking Platform
Xpeditis is a B2B SaaS platform for freight forwarders to search, compare, and book maritime freight in real-time.
⭐ START HERE ⭐
New to the project? Read START-HERE.md - Get running in 10 minutes!
🚀 Quick Start
Prerequisites
- Node.js >= 20.0.0
- npm >= 10.0.0
- Docker & Docker Compose
- PostgreSQL 15+
- Redis 7+
Installation
# Install dependencies
npm install
# Start infrastructure (PostgreSQL + Redis)
docker-compose up -d
# Setup environment variables
cp apps/backend/.env.example apps/backend/.env
cp apps/frontend/.env.example apps/frontend/.env
# Run database migrations
npm run backend:migrate
# Start backend (development)
npm run backend:dev
# Start frontend (development)
npm run frontend:dev
Access Points
- Frontend: http://localhost:3000
- Backend API: http://localhost:4000
- API Documentation: http://localhost:4000/api/docs
📁 Project Structure
xpeditis/
├── apps/
│ ├── backend/ # NestJS API (Hexagonal Architecture)
│ │ └── src/
│ │ ├── domain/ # Pure business logic
│ │ ├── application/ # Controllers & DTOs
│ │ └── infrastructure/ # External adapters
│ └── frontend/ # Next.js 14 App Router
├── packages/
│ ├── shared-types/ # Shared TypeScript types
│ └── domain/ # Shared domain logic
└── infra/ # Infrastructure configs
🏗️ Architecture
This project follows Hexagonal Architecture (Ports & Adapters) principles:
- Domain Layer: Pure business logic, no external dependencies
- Application Layer: Use cases, controllers, DTOs
- Infrastructure Layer: Database, external APIs, cache, email, storage
See CLAUDE.md for detailed architecture guidelines.
🛠️ Development
Backend
npm run backend:dev # Start dev server
npm run backend:test # Run tests
npm run backend:test:watch # Run tests in watch mode
npm run backend:test:cov # Generate coverage report
npm run backend:lint # Lint code
npm run backend:build # Build for production
Frontend
npm run frontend:dev # Start dev server
npm run frontend:build # Build for production
npm run frontend:test # Run tests
npm run frontend:lint # Lint code
📚 Documentation
Getting Started
- QUICK-START.md ⚡ - Get running in 5 minutes
- INSTALLATION-STEPS.md 📦 - Detailed installation guide
- NEXT-STEPS.md 🚀 - What to do after setup
Architecture & Guidelines
- CLAUDE.md 🏗️ - Hexagonal architecture guidelines (complete)
- apps/backend/README.md - Backend documentation
- apps/frontend/README.md - Frontend documentation
Project Planning
- PRD.md 📋 - Product Requirements Document
- TODO.md 📅 - 30-week development roadmap
- SPRINT-0-FINAL.md ✅ - Sprint 0 completion report
- SPRINT-0-SUMMARY.md 📊 - Executive summary
API Documentation
- API Docs 📖 - OpenAPI/Swagger (when running)
🧪 Testing
# Run all tests
npm run test:all
# Run backend tests
npm run backend:test
# Run frontend tests
npm run frontend:test
# E2E tests (after implementation)
npm run test:e2e
🔒 Security
- All passwords hashed with bcrypt (12 rounds minimum)
- JWT tokens (access: 15min, refresh: 7 days)
- HTTPS/TLS 1.2+ enforced
- OWASP Top 10 protection
- Rate limiting on all endpoints
- CSRF protection
📊 Tech Stack
Backend
- Framework: NestJS 10+
- Language: TypeScript 5+
- Database: PostgreSQL 15+
- Cache: Redis 7+
- ORM: TypeORM
- Testing: Jest, Supertest
- API Docs: Swagger/OpenAPI
Frontend
- Framework: Next.js 14+ (App Router)
- Language: TypeScript 5+
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- State: React Query (TanStack Query)
- Forms: React Hook Form + Zod
- Testing: Jest, React Testing Library, Playwright
🚢 Carrier Integrations
MVP supports the following maritime carriers:
- ✅ Maersk
- ✅ MSC
- ✅ CMA CGM
- ✅ Hapag-Lloyd
- ✅ ONE (Ocean Network Express)
📈 Monitoring & Logging
- Logging: Winston / Pino
- Error Tracking: Sentry
- APM: Application Performance Monitoring
- Metrics: Prometheus (planned)
🔧 Environment Variables
See .env.example files in each app for required environment variables.
🤝 Contributing
- Create a feature branch
- Make your changes
- Write tests
- Run linting and formatting
- Submit a pull request
📝 License
Proprietary - All rights reserved
👥 Team
Built with ❤️ by the Xpeditis team
For detailed implementation guidelines, see CLAUDE.md.