Redis를 사용하여 포럼 기반 웹용 포럼 서비스 구축(3부)

스레드 서비스



나는 이 서비스를 빨리 감당할 것이다. 이전 서비스(사용자 서비스)와 패턴이 비슷할 것이기 때문입니다. 다음 변경 사항을 확인할 수 있습니다.

스레드 서비스 #8







berviantoleo
에 게시됨





View on GitHub


여기branch에서 직접 다운로드/계속하십시오.

메모:
  • CORS를 추가하기 위해 다른 서비스도 변경합니다. 프런트엔드와 마이크로 서비스의 도메인이 서로 다르기 때문에 CORS가 필요합니다.

  • 프런트 엔드에서 테스트


    docker-compose.yml가 필요합니다. 마이크로서비스를 도커에 구축합니다. 이것은 내 설정입니다.

    version: '3.9'
    services:
      redis:
        image: redis/redis-stack:6.2.2-v4
        restart: always
        ports:
          - 6379:6379
          - 8001:8001
        volumes:
          - redis-data:/data
        networks:
          - backend
      mongodb:
        image: mongo:5
        restart: always
        networks:
          - backend
        ports:
          - 27017:27017
        volumes:
          - mongo-data:/data/db
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: secretpass
      mongo-express:
        image: mongo-express:latest
        restart: always
        networks:
          - backend
        ports:
          - 8081:8081
        environment:
          ME_CONFIG_MONGODB_ADMINUSERNAME: root
          ME_CONFIG_MONGODB_ADMINPASSWORD: secretpass
          ME_CONFIG_MONGODB_URL: mongodb://root:secretpass@mongodb:27017/
      user-services:
        build: ./app/user-service
        networks:
          - backend
        ports:
          - 9000:80
        environment:
          ForumApiDatabase__ConnectionString: mongodb://root:secretpass@mongodb:27017
          RedisConnectionString: redis://redis:6379
          AuthServiceSettings__AuthServiceVerify: http://auth-services:5000/auth/verify
      auth-services:
        build: ./app/auth-service
        networks:
          - backend
        environment:
          NODE_ENV: production
          REDIS_CONNECTION_STRING: redis://redis:6379
          MONGO_CONNECTION_STRING: mongodb://root:secretpass@mongodb:27017
          PORT: 5000
        ports:
          - 9001:5000
      thread-services:
        build: ./app/thread-service
        networks:
          - backend
        environment:
          ForumApiDatabase__ConnectionString: mongodb://root:secretpass@mongodb:27017
          RedisConnectionString: redis://redis:6379
          AuthServiceSettings__AuthServiceVerify: http://auth-services:5000/auth/verify
        ports:
          - 9002:80
    
    
    volumes:
      redis-data:
      mongo-data:
    
    networks:
      backend:
        name: custom_backend
    

    이 명령을 실행하여 서비스를 구축하고 켤 수 있습니다.

    docker compose build # build our images (optional if you've built it)
    docker compose up -d # turn on our services
    

    프런트 엔드


    프로젝트 초기화



    npx create-react-app . --template typescript
    

    프로젝트 채우기



    단계별로 복잡하기 때문에. 이 PR(Pull Request)을 사용하여 변경 사항을 확인할 수 있습니다.

    초기 프로젝트 #1







    berviantoleo
    에 게시됨





    View on GitHub



    여기branch에서 직접 다운로드하십시오.

    스크린샷


  • 홈 페이지


  • 홈 페이지(로그인하지 않음)


  • 스레드 생성


  • 프로필 업데이트



  • This post is in collaboration with Redis.



    참조(추가 리소스)


  • Try Redis Cloud for free



  • Redis Developer Hub - tools, guides, and tutorials about Redis
  • RedisInsight Desktop GUI

  • There are many rooms of improvement. As example: Searching Thread using Redis, Searching Popular Thread using Redis (count by upvote and comments), etc.



    고맙습니다



    읽어 주셔서 감사합니다. 나는 우리의 프로젝트를 완성하기 위해 약간의 개선을 할 것입니다. 목록은 다음과 같습니다.
  • 댓글 섹션
  • 사용자 찬성 투표
  • 검색 스레드(Redis 사용)
  • 인기 있는 스레드(Redis 사용)
  • (보너스) AWS에 배포

  • 그러니 계속 지켜봐주세요!

    좋은 웹페이지 즐겨찾기