테크톡
테크톡은 첫 취업 또는 이직을 준비하는 개발자분들 대상으로 기술 면접을 효과적으로 대비할 수 있도록 도와주는 서비스입니다. AI 면접관과 함께 진행하는 모의 면접, 오답 및 학습 노트 등의 기능들을 기반으로 사용자의 기술 면접 준비를 돕습니다.
실제 취준생활동안 기술 면접을 준비하면서 느꼈던 불편함을 기반으로 서비스를 기획하였으며 , 틈틈이 효과적으로 기술 개념을 학습하기 위한 고민들이 서비스 곳곳에 녹여져 있습니다.
# 목차
- [요약](#요약)
- [구현 결과](#구현-결과)
- [폴더 구조](#폴더-구조)
- [프로젝트에 도입된 개념](#프로젝트에-도입된-개념)
# 요약
| Index | Detail |
|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 컨트리뷰터 |
suneogkwon,
Yellowtoast,
yundal8755 ,
Ximya |
| 상태관리 | rivepord, rxdart |
| 주요 패키지 | go_router(라우팅), get_it(DI), dio(네트워킹), hive(로컬 데이터베이스), json_serializable(모델링) |
| Flutter SDK | 3.19.1 |
| 구조 |
|
# 구현 결과
| 로그인 | 온보딩(닉네임 설정) | 온보딩 (관심 직군 설정) |
|:--------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------:|
|
|
|
|
| 온보딩 (관심 기술 면접 주제 선택) | 홈 페이지 | 면접실 페이지 (데이터 X) |
|
|
|
|
| 면접 질문 개수 선택 페이지 | 면접 질문 주제 선택 페이지(실전) | AI 채팅 모의 면접 페이지(주제별) |
|
|
|
|
| AI 채팅 모의 면접 탭뷰 | AI 채팅 모의 면접 문답 탭뷰 | 면접실 페이지 (실전 면접) |
|
|
|
|
| 학습 페이지 | 학습 상세 페이지 | 학습 상세 페이지(답안 가리기 활성화) |
|
|
|
|
| 학습 전체 문답 목록 페이지 | 오답노트 페이지 | 오답 노트 상세 페이지 |
|
|
|
|
| 내 정보 페이지 | 내 정보 페이지(수정 팝업 활성화) |
|
|
|
# 폴더 구조
```bash
|-- lib
|-- app
| |-- di
| |-- entrypoints
| |-- router
| |-- style
|
|-- core
| |-- constants
| |-- helper
| |-- modules
| |-- services
|
|-- features
| |-- data_source
| | |-- remote
| | | |-- models
| | |-- local
| | | |-- boxes
| |-- repository
| | |-- entities
| | |-- enums
| |-- useCases
|
|-- presentation
| |-- common
| | |-- base
| |-- pages
| |-- section
| |-- widgets
| |-- state
| |-- event
```
# 프로젝트에 도입된 개념
-
Flutter 클린 아키텍처의 디렉토리 구성에 대한 고민
-
Flutter, 완성도 높은 채팅 기능을 만들기 위한 인터렉션 로직들
-
Mixin Class를
활용하여 Riverpod 단점 극복하기
-
네트워크 이미지 렌더링을
최적화하여 메모리 사용량 절감하기
-
내일 바로 써먹는 Flutter Clean UI Code
-
네트워크 이미지 렌더링을 최적화하여 메모리 사용량 절감하기
-
Flutter 정규 표현식을 이용한 욕설·비속어를 필터링 로직
-
더 빠르고 깔끔하게 Import 하기 : Single Import
-
Factory 생성자로 유연하게 위젯을 모듈화하기
-
Flutter, 프로답게 유틸리티 class 구현하기 (feat : 메모리 최적화)
-
Flutter, '아' 다르고 '어' 다른 Extension 키워드 활용 포맷팅 로직