This is a side project for the general use case: Pricing or Subscription of all kinds of SAAS products.
- Next.js (React.js) with TypeScript
- Tailwind CSS for styling
- Zod for validation
- Zustand for state management
- NextAuth for authorization
- vitest + @testing-library/react for unit/components testing
- Shadcn/ui for UI components if needed
- tanstack-query for data fetching and caching
- Microservices architecture
- Event driven architecture
- Domain driven design as possible
Domain:
- Combined Bounded Context: User Identity + Authentication
- User registration, profile management
- Authentication (JWT, sessions)
- Password management
Tech stack:
- Java 21 with Spring Boot 3
- Flyway with PostgreSQL
- Spring Data JPA
- Spring Security
Domain:
- Subscription lifecycle
- Plan management
- Stripe integration and payment processing
- Billing history
Tech stack:
- Gin with Golang
- pgx for PostgreSQL
TODO
Domain:
- Supporting Domain: Communications
- Email notifications
- Event processing from other services
Tech stack:
TODO
Domain:
- Supporting Domain: logging
- Key activity logging
- Communicate with other services
Tech stack:
- golang
- grpc
- mongodb
- Event driven with NATS or Kafka
- Event driven for eventual consistency