Skip to content

FINERACT-2634: Implement Registration Feature#13

Merged
Aman-Mittal merged 4 commits into
apache:mainfrom
edk12564:main
Jun 10, 2026
Merged

FINERACT-2634: Implement Registration Feature#13
Aman-Mittal merged 4 commits into
apache:mainfrom
edk12564:main

Conversation

@edk12564

@edk12564 edk12564 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

JIRA: https://issues.apache.org/jira/browse/FINERACT-2634

Summary

The first feature to be implemented is user registration. I have below implemented full OTP and Identity Verification flow along with CQRS as requested.

Some architectural decisions include Spring Aspects for cross cutting concerns over a command bus orchestration layer, full CQRS file separation over a shared layer with annotations, and a separate Mailpit (MIT license) node for email OTPs.

After this PR, we can continue to add things like polish, more testing, and additional service implementations like for SMS for OTPs or ABAC validations for things like Device Fingerprints. I will also begin my work on the login/auth feature next.

Detailed Summary

  • created registration feature
  • created user module to establish BFFUser:FineractClient mapping
  • kept UserId as BIGINT for internal searchability with UUID externalId for security
  • created fineract client module
  • added feign clients for calling fineract endpoints
  • created otp module
  • stored otps in ttl cache for fast access and timed nature
  • setup interceptors for fineract basic auth
  • added custom exceptions and handling
  • expanded liquibase user columns
  • implemented cqrs separation
  • added command/query annotations/aspects for cross cutting concerns
  • added cucumber tests for a few happy paths
  • added cucumber infrastructure for mailpit client
  • removed gitkeep placeholders
  • removed ping feature

edk12564 added 2 commits June 8, 2026 10:07
- created registration feature
- created user feature service
- created fineract client
- added custom exceptions and handling
- removed gitkeep placeholders
- removed ping feature
- expanded liquibase user columns
- implemented cqrs separation
- added command/query aspects for cross cutting concerns
- added cucumber tests for some happy paths
- added otp feature service
- added cucumber infrastructure for mailpit client

@Aman-Mittal Aman-Mittal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

address comments

edk12564 added 2 commits June 8, 2026 14:45
- used assertion constants instead of hardcoded strings when applicable
- added FineractHeaders.java for header constants
- small code quality fixes

@Aman-Mittal Aman-Mittal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Aman-Mittal Aman-Mittal merged commit 1d79544 into apache:main Jun 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants