An advanced, modular, and scalable Customer Relationship Management (CRM) system meticulously tailored for the dynamic needs of Medical Representatives, built with the power and efficiency of Go.
This project is engineered to provide a truly robust platform for managing sophisticated client interactions, from initial contact to ongoing engagement. It handles intricate visit planning, streamlined order processing, and insightful reporting. The system prioritizes:
- ⚡ Exceptional performance for demanding workloads
- 🛠️ Enhanced maintainability through clean code
- 🔄 Clear boundaries for better scalability
- 🚀 Future extensibility towards SaaS model
- Clear separation of concerns
- Independent module development
- Scalable component design
- Future-proof architecture
- 🔐 Role-based access control (RBAC)
- 🔑 Secure authentication
- 📝 Detailed permission settings
- 🔒 Future: 2FA & audit trails
- Hierarchical geographical structure
- Performance tracking
- Workload distribution
- Sales strategy execution
- 360-degree HCP profiles
- Detailed demographics
- Interaction history
- Communication preferences
- Client segmentation
- Optimized routing
- Compliance reporting
- Field intelligence capture
- Visit feedback tracking
- Detailed product catalog
- Inventory integration
- Order processing
- Pricing tier management
- Status tracking
- Non-visit activity logging
- Expense report management
- Approval workflows
- Budget control
- Operational insights
- KPI tracking
- Trend analysis
- Comparative dashboards
- Basic forecasting
- Real-time alerts
- Visit reminders
- Approval requests
- Team coordination
- Internal messaging
Category | Technology | Description |
---|---|---|
Backend | Go (Golang) | High performance, concurrency, standard library |
Database | PostgreSQL | ACID compliance, JSONB support, extensibility |
API | GraphQL (gqlgen) | Flexible data fetching, type safety |
Auth | JWT | Stateless authentication |
AuthZ | Casbin | Flexible access control models |
Web Framework | Gin/Echo/Chi | Lightweight, efficient routing |
ORM/DB | GORM/Ent/sqlx | Database interaction |
Messaging | NATS/RabbitMQ | Async communication |
.
├── api/ # API definitions (GraphQL, OpenAPI)
├── cmd/ # Application entry points
├── configs/ # Configuration files
├── internal/ # Private application code
│ ├── app/ # Application services
│ ├── domain/ # Business logic
│ ├── handler/ # HTTP/GraphQL handlers
│ ├── infra/ # Infrastructure implementations
│ └── platform/ # Shared utilities
├── pkg/ # Public library code
├── migrations/ # Database migrations
├── graph/ # GraphQL generated code
└── scripts/ # Helper scripts
- Go 1.21+
- PostgreSQL 15+
- Docker & Docker Compose
- golang-migrate CLI
- make (optional)
# Clone the repository
git clone https://github.com/rixtrayker/medical-rep.git
# Navigate to project directory
cd medical-rep
# Start development environment
make dev
# Run migrations
make migrate-up
# Start the server
make run
# Run tests
make test
# Build binary
make build
# Run linter
make lint
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.
- Go
- PostgreSQL
- gqlgen
- Casbin
- And all other open-source projects that made this possible!