당연하다고 느꼈던 일상 속 감사함을 찾아 꾸준히 기록하도록 유도함으로써 삶의 만족감을 증진시키는 공유 감사일기 서비스입니다.
파트 | 프레임워크 | 이름 | 구현 기능 |
---|---|---|---|
프론트 | ReactNative | 최호연 | UI개발, API 연동 |
프론트 | ReactNative | 박예진 | UI개발, API 연동 |
백엔드 | SpringBoot | 김희엽 | 인프라 구축, API 개발, ERD 설계 |
백엔드 | SpringBoot | 이승렬 | 인프라 구축, API 개발, ERD 설계 |
- ReactNatie
- 크로스 플랫폼 개발: React Native는 JavaScript와 React를 사용하여 iOS와 Android 모두에서 동작하는 앱을 개발할 수 있습니다. 이것은 코드의 재사용을 높이고 개발 및 유지 보수 비용을 줄이는 데 도움이 됩니다.
- 컴포넌트 기반 개발: React Native는 UI를 작성하는 데 컴포넌트 기반 접근 방식을 사용합니다. 이것은 재사용 가능한 컴포넌트를 쉽게 작성하고 조합할 수 있도록 도와줍니다.
- Hot Reloading: 앱을 개발 중에 코드를 수정하면 앱을 다시 빌드하거나 새로 고치지 않고도 변경 사항을 즉시 확인할 수 있는 뜨거운 다시로딩 기능을 제공합니다. 이는 개발자 생산성을 높이는 데 도움이 됩니다.
- 네이티브 성능과 유사한 성능: React Native는 JavaScript 코드를 네이티브 코드로 변환하여 네이티브 앱과 유사한 성능을 제공합니다. 특히 React Native에서는 네이티브 모듈을 사용하여 필요한 경우 네이티브 코드를 직접 호출할 수 있습니다.
- 라이브러리와 생태계: React Native는 다양한 라이브러리와 플러그인이 풍부한 생태계를 가지고 있어, 다양한 기능을 빠르게 추가하고 개발할 수 있습니다.
- 커뮤니티와 지원: React Native는 Facebook에서 개발 및 관리되며, 전 세계적으로 큰 개발자 커뮤니티와 지원을 받고 있습니다. 따라서 문제 해결과 도움을 얻기가 쉽습니다.
- Redis
- 빠른 속도와 저렴한 비용: Redis는 모든 데이터를 메모리에 저장하고 처리하기 때문에 빠른 읽기 및 쓰기 작업 속도를 제공합니다. 이로 인해 응답 시간이 빠르며, 데이터베이스 쿼리나 디스크 I/O를 기다릴 필요가 없어서 애플리케이션의 성능을 향상시킵니다.
- 인메모리 데이터 저장: Redis는 데이터를 메모리에 저장하기 때문에 빠른 데이터 접근을 가능하게 합니다. 이는 캐싱, 세션 관리, 랭킹 등 빠른 데이터 액세스가 필요한 다양한 용도로 사용됩니다.
- 다양한 데이터 구조 지원: Redis는 문자열, 리스트, 세트, 해시, 비트맵 및 공간지리 데이터와 같은 다양한 데이터 유형을 지원합니다. 이는 다양한 애플리케이션에서 데이터 모델링과 조작이 용이하게 만듭니다.
- SpringBoot
- 간편한 설정 및 개발:
- Spring Boot는 자동 구성(auto-configuration)을 제공하여 개발자가 복잡한 설정을 수동으로 하지 않고도 기본적인 설정을 자동으로 처리합니다. 이로써 개발자는 애플리케이션 로직에 집중할 수 있으며 설정 관련 복잡성을 줄일 수 있습니다.
- 내장 서버 지원:
- Spring Boot는 내장 서버 (예: Tomcat, Jetty, Undertow)를 지원합니다. 이것은 애플리케이션을 배포할 때 외부 서버를 구성하지 않아도 되므로 배포 프로세스를 단순화하고 애플리케이션 실행 및 테스트를 더 쉽게 만듭니다.
- 생산성 향상:
- Spring Boot는 많은 템플릿과 코드 생성 기능을 제공하여 개발 생산성을 높입니다. 예를 들어, Spring Initializr를 사용하면 프로젝트의 기본 구조와 의존성을 빠르게 설정할 수 있습니다. 또한 Spring Boot 스타터(Starter) 패키지를 사용하면 필요한 라이브러리 및 모듈을 간단하게 추가할 수 있습니다.
- 간편한 설정 및 개발:
- Aws
- 확장성: AWS는 필요에 따라 리소스를 확장하거나 축소할 수 있습니다. 트래픽 변동이나 업무 요구 사항의 변화에 대응할 수 있도록 도와줍니다.
- 다양한 서비스: AWS는 다양한 클라우드 서비스를 제공하며, 컴퓨팅, 데이터베이스, 스토리지, 네트워킹, 인공지능, 분석, 보안 등 다양한 도구와 서비스를 포함하기도 합니다.
- 비용 효율성: AWS는 사용한 만큼 비용을 지불하므로 초기 투자 비용이나 하드웨어 유지 관리 비용을 절감할 수 있습니다. 또한 AWS는 비용 최적화 도구를 제공하여 비용을 최소화할 수 있도록 도와줍니다.
- MySQL
- 오픈 소스 및 라이선스 비용 없음:
- MySQL은 오픈 소스 소프트웨어로, 라이선스 비용이 없으며 이는 기업과 개발자에게 비용을 절감하고 자유롭게 사용할 수 있는 기회를 제공합니다.
- 빠른 속도와 성능:
- MySQL은 뛰어난 성능을 제공하며, 대부분의 일반적인 데이터베이스 작업을 빠르게 처리할 수 있습니다. 특히 인덱싱, 쿼리 최적화 및 캐싱을 통해 성능을 향상시킬 수 있습니다.
- 확장성:
- MySQL은 수평 및 수직 확장을 지원하므로 데이터베이스 서버의 성능을 쉽게 확장할 수 있습니다. 이는 높은 트래픽 및 데이터 양을 처리해야 하는 대규모 웹 애플리케이션 및 비즈니스 시스템에 적합합니다.
- 오픈 소스 및 라이선스 비용 없음:
- Docker
- 포터빌리티:
- Docker 컨테이너는 응용 프로그램과 모든 종속성을 포함하므로 어디에서든 동일한 환경에서 실행할 수 있습니다. 이것은 개발 환경과 프로덕션 환경 간의 일관성을 유지하고, 다른 시스템으로 애플리케이션을 쉽게 이동하고 배포할 수 있도록 도와줍니다.
- 경량화:
- Docker 컨테이너는 가상 머신에 비해 훨씬 가벼우며, 호스트 시스템에서 공유하는 리소스를 최소화합니다. 이로 인해 여러 컨테이너를 동일한 호스트에서 실행할 수 있으며, 시스템 자원을 효율적으로 활용할 수 있습니다.
- 빠른 시작:
- Docker 컨테이너는 빠르게 시작될 수 있으며, 몇 초 내에 실행될 수 있습니다. 이것은 확장성 및 빠른 배포를 지원합니다.
- 포터빌리티: