Project Structure - RohanNagar/thunder GitHub Wiki

  • Thunder
    • api
      • com.sanction.thunder
        • models
          • All model classes shared by application and client
    • application
      • com.sanction.thunder
        • ThunderApplication
        • ThunderConfiguration
        • ThunderComponent [Dagger]
        • ThunderModule [Dagger]
        • authentication
          • ThunderAuthenticator, related classes
        • dao (Database Access Object)
          • DatabaseConfiguration
          • DaoModule [Provides the DAO for the resources]
          • DatabaseError/DatabaseException [Exceptions related to Database operations]
          • UsersDao [Make this an interface]
          • dynamodb
            • DynamoDbUsersDao [Implementation of UsersDao for DynamoDB]
            • DynamoDbHealthCheck
            • DynamoDbModule [Provides dependencies for DynamoDbUsersDao]
          • cosmosdb
            • CosmosDbUsersDao, HealthCheck, and Module [Implementation for CosmosDB]
          • googledb
            • Implementation for Google Cloud DB
        • email
          • EmailConfiguration, EmailModule, EmailException
          • EmailService [Make this an interface]
          • ses
            • SesEmailService [Implementation of EmailService for SES]
          • other email providers
        • resources
          • UserResource
          • VerificationResource
        • validation
          • Request/Property validation utilities
    • client
      • com.sanction.thunder
        • ThunderBuilder, ThunderClient