# ONeul(오늘) One Day Lifetime SNS ## Development Goals - Delete post 24 hours old using Spring Batch - Managing Logins Using Session - Object Oriented Programming - [CQRS(Command and Query Responsibility Segregation) Structure](https://zzzinho.tistory.com/123) - RESTful API - [Unit Test](https://mangkyu.tistory.com/143) ## Application Structure ### CQRS and Event Sourcing

### Directory Structure [Domain Directory Structure](https://github.com/cheese10yun/spring-guide/blob/master/docs/directory-guide.md) ``` └── src ├── main │ ├── java │ │ └── com │ │ └── example │ │ └── onuel │ │ ├── OneulApplication.java │ │ ├── domain │ │ │ ├── user │ │ │ │ ├── controller │ │ │ │ ├── service │ │ │ │ ├── repository │ │ │ │ ├── domain │ │ │ │ ├── dto │ │ │ │ └── exception │ │ │ ├── post │ │ │ │ ├── controller │ │ │ │ ├── service │ │ │ │ │ ├── command │ │ │ │ │ └── query │ │ │ │ ├── repository │ │ │ │ ├── domain │ │ │ │ ├── dto │ │ │ │ └── exception │ │ ├── global │ │ ├── common │ │ │ ├── request │ │ │ └── response │ │ ├── config │ │ │ ├── RedisConfig.java │ │ │ ├── BatchConfig.java │ │ │ ├── MongoConfig.java │ │ │ └── security │ │ │ ├── InterceptorConfig.java │ │ │ └── WebSecurityConfig.java │ │ ├── error │ │ │ ├── GlobalExceptionHandler.java │ │ │ └── exception │ │ │ ├── NotFoundException.java │ │ └── util │ │ ├── LoginCheckInterceptor.java │ │ ├── BatchScheduler.java │ └── resources │ ├── application-local.yml │ ├── application-prod.yml │ ├── application-test.yml │ └── application.yml ``` ## How to run ```bash git clone https://github.com/zzzinho/Oneul.git gradle bootJar docker compose up --build -d ```