Mapsy Server is a comprehensive RESTful API service for managing appointments, vendors, designers, and customer interactions. The system facilitates appointment booking, and vendor-customer relationships for small business.
- Appointment Management: Schedule and manage appointments
- Vendor & Designer Management: Handle vendor profiles, designer portfolios, and availability
- Customer Experience: Streamlined booking process with phone/email verification
- Portfolio Showcase: Display designer portfolios and services
- Review System: Customer feedback and rating system for items
- Duration: ~3.5 years of active development (April 2021 - November 2024)
- Current Version: 0.9.94
- Status: Production-ready with comprehensive test coverage
- Backend: Go 1.22 with Gin framework
- Database: PostgreSQL 15.2 with GORM ORM
- Authentication: Supabase Auth + JWT tokens
- File Storage: Supabase Storage + AWS S3
- Email Service: Mailgun
- SMS Service: Twilio
- Documentation: Swagger/OpenAPI
- Logging: Uber Zap logger
- Containerization: Docker & Docker Compose
mapsy-server/
├── api/ # API types and schemas
├── cmd/ # Application entry points
├── configs/ # Configuration management
├── database/ # Database layer
├── internal/ # Internal business logic
├── server/ # HTTP server implementation
├── templates/ # Email templates
└── docs/ # API documentation
- Built comprehensive RESTful API with 20+ endpoints
- Implemented role-based access control (Admin/Guest)
- Designed scalable database schema with 5 core entities
- Achieved comprehensive test coverage for all endpoints
- Implemented JWT-based authentication with Supabase
- Added SMS-based phone verification system
- Configured rate limiting and CORS protection
- Optimized database queries and connection pooling
- Containerized application with Docker
- Set up CI/CD pipeline for automated testing
- Implemented structured logging and monitoring
- Deployed to staging and production environments
- Vendor and designer listings
- Item catalog and category management
- Appointment booking system
- Customer registration and authentication
- User management and administration
- Content management (items, portfolios)
- Appointment oversight and management
- Analytics and reporting
- Vendors: stores and businesses with contact information
- Designers: designers and craftsmen with portfolios
- Appointments: Customer booking sessions with scheduling
- Items: pieces and products with pricing
- Users: Customer accounts with authentication
- Unit tests for business logic
- Integration tests for API endpoints
- Database migration testing
- Authentication flow testing
- Comprehensive linting and code formatting
- API documentation with Swagger
- Error handling and logging
- Performance monitoring
- Development: Local development with hot reload
- Staging: Pre-production testing environment
- Production: Live application with monitoring
- Application health checks
- Database connectivity monitoring
- External service integration monitoring
- Performance metrics tracking
- Feature branch development
- Code review and testing
- Automated CI/CD pipeline
- Documentation updates
- Go coding conventions
- Conventional commit messages
- Comprehensive documentation
- Security best practices
Last Updated: November 2024
Version: 0.9.94