A production-grade e-commerce marketplace built with modern web technologies.
- Frontend: SvelteKit 2.x with TypeScript
- Database: PostgreSQL with Prisma ORM
- Storage: MinIO (S3-compatible object storage)
- Authentication: JWT with 2FA support
- Containerization: Docker & Docker Compose
- Styling: TailwindCSS
- Package Manager: pnpm
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ HAProxy │ │ SvelteKit │ │ PostgreSQL │
│ (Load Balancer│────│ Application │────│ Database │
│ & SSL Termination │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌─────────────────┐
│ MinIO │
│ Object Storage │
└─────────────────┘
- User Management: Registration, login, 2FA authentication
- Marketplace: Product listings, categories, search
- Cart & Orders: Shopping cart, order management
- Payments: Integration with payment providers
- Admin Panel: User management, settings, analytics
- Seller Dashboard: Product management, order tracking
- Security: Argon2 password hashing, JWT tokens, role-based access
- Docker & Docker Compose
- Node.js 20+ (for local development)
- pnpm
-
Clone the repository
git clone https://github.com/recorner/neo.git cd neo -
Start the development environment
docker-compose up -d
-
Apply database migrations
docker exec neo_app_1 npx prisma migrate deploy -
Access the application
- Main application: http://localhost
- MinIO console: http://localhost:45051
Copy .env.example to .env and configure:
DATABASE_URL=postgres://doadmin:AVNS_3b1YnGoB1Y5mAysdpOx@postgres:5432/defaultdb
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123
JWT_SECRET=supersecretjwtkey123456789
NOWPAYMENTS_API_KEY=your-api-key# Build production images
docker-compose build --no-cache
# Deploy with production configuration
docker-compose -f docker-compose.prod.yml up -dneo/
├── src/
│ ├── lib/ # Shared utilities and components
│ ├── routes/ # SvelteKit routes
│ └── app.html # HTML template
├── prisma/
│ ├── schema.prisma # Database schema
│ └── migrations/ # Database migrations
├── docker-compose.yml # Development Docker setup
└── Dockerfile # Application container
- Password Security: Argon2 hashing algorithm
- Authentication: JWT tokens with configurable expiration
- 2FA Support: Time-based one-time passwords (TOTP)
- Role-based Access: Admin, seller, and user roles
-
Development Workflow
# Create feature branch from dev git checkout dev git pull origin dev git checkout -b feature/your-feature-name # Make changes and commit git add . git commit -m "feat: your feature description" # Push and create PR to dev branch git push origin feature/your-feature-name
-
Branch Strategy
main: Production-ready codedev: Development branch for integrationfeature/*: Feature development branches
This project is proprietary software. All rights reserved.
Built with ❤️ using modern web technologies