전체 스택 Reddit 클론 - Spring Boot, React, Electron 앱 - 1부
5942 단어 reacttypescriptwebdevjava
전체 스택 Reddit 클론 - Spring Boot, React, Electron 앱 - 1부
소개
이 블로그 게시물 시리즈에서는 Spring Boot, React 및 Electron을 사용하여 Reddit 클론을 빌드할 것입니다. Spring Data JPA, Spring Security with JWT, Redis for Caching이 있는 데이터베이스용 PostgreSQL과 같은 다양한 Spring 기술을 사용할 것입니다. 프런트엔드 부분은 Typescript와 함께 React, 상태 관리를 위한 Redux 및 Material-UI를 사용합니다.
중요한 링크
1부: 백엔드 프로젝트 초기화 👩💻
이 애플리케이션의 백엔드 구축을 시작하겠습니다. 가장 먼저 할 일은 Spring Initializer Website을 사용하여 프로젝트를 초기화하는 것입니다.
다음과 같이 프로젝트를 구성합니다.
선호하는 IDE에서 프로젝트를 열고 프로젝트 구조가 아래와 유사한지 확인합니다.
파트 2: 추가 종속성 📚
이제 프로젝트 이니셜라이저에서 사용할 수 없었던 몇 가지 추가 종속성을 추가해야 합니다.
pom.xml 파일을 열고 향후 테스트를 위해 JWT 인증, TimeAgo, Validator 및 JavaFaker에 대한 다음 종속성을 추가합니다.
<!-- JavaFaker related dependencies-->
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
<version>0.12</version>
</dependency>
<!-- JWT related dependencies-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>0.11.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<scope>runtime</scope>
<version>0.11.2</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<scope>runtime</scope>
<version>0.11.2</version>
</dependency>
<!-- TimeAgo related dependencies-->
<dependency>
<groupId>com.github.marlonlom</groupId>
<artifactId>timeago</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
3부: 데이터베이스, 최대 절전 모드 및 Java 메일 구성 ⚙
이제 PostgreSQL, Hibernate JPA, Java Mail 및 Redis를 구성해야 합니다.
src/main/resources/application.properties 파일을 열고 다음을 추가합니다.
# Database Properties
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=<your-db-username>
spring.datasource.password=<your-db-password>
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
# Redis Properties
spring.cache.type=redis
spring.redis.host=localhost
spring.redis.port=6379
# Mail Properties
spring.mail.host=smtp.mailtrap.io
spring.mail.port=25
spring.mail.username=<your-smtp-username>
spring.mail.password=<your-smtp-password>
spring.mail.protocol=smtp
결론 🔍
모든 것이 올바르게 구성되었는지 확인하기 위해 애플리케이션을 실행하고 콘솔에 오류가 없는지 확인할 수 있습니다. 콘솔 하단을 향해 아래와 유사한 출력이 표시되어야 합니다.
다음 📺
백엔드 내에 필요한 모든 도메인 엔터티 및 리포지토리 생성.
Reference
이 문제에 관하여(전체 스택 Reddit 클론 - Spring Boot, React, Electron 앱 - 1부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/maxicb/full-stack-reddit-clone-spring-boot-react-electron-app-part-1-1c22텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)