WhoTalk.us 는 채팅 기반 SNS 시스템으로서, N:1 채팅을 제공해줍니다. 서비스를 한마디로 설명을 하자면, 익명 혹은 비익명의 유저들이 당신에게 말을 걸 수 있게 해줍니다. 프론트엔드엔 React.js 가 사용되었으며, 백엔드엔 Node.js 가 사용되었습니다. 데이터베이스는 MongoDB 가 사용되었습니다.
이 프로젝트는 중규모의 사이드 프로젝트 입니다. 여가 시간에 개발을 하다가 조만간 곧 바빠질 것 같아서 마무리를 짓고 런칭을 하게 되었습니다.
프로젝트를 개발 시작 하게 된 계기는 이전에 롱폴링 네트워킹이 궁금해서 SaySomething 이라는 미니 프로젝트를 만들었는데, 누군가 이거는 혼자밖에 못쓰는건가요? 라는 말을 해서 한번 누구든지 채널을 만들어서 익명의 유저가 말을 걸 수 있게 해주는 서비스를 만들게 되었습니다.
프로젝트에서 필요 한 핵심 기능은 모두 구현이 완료되었으나, 앞으로도 고쳐가야 할 부분들이 좀 존재합니다.
이 프로젝트는 오픈 소스 프로젝트입니다. 소스 코드는 GitHub 에서 열람가능합니다.
React 프로젝트를, 어떻게 해야 좀 편하게 구성 할 수 있을까 에 대한 고찰을 연구해가는 동시에 개발을 한 거라, 프로젝트의 시작과 끝의 코드 스타일이 다릅니다. 혹시나, 그렇게 많이 기대하지는 않지만, 이 서비스를 이용해주는 유저분들이 어느정도 생기면 코드리팩토링을 할 예정입니다. 지금 당장은 바빠서 미루고 있습니다.
버그를 찾으셨거나, 좀 더 개선하고 싶은 점이 있다면, GitHub 에서 issue 를 자유롭게 만들어주세요.
궁금하신게 있으시다면, WhoTalk 을 통해서 연락주세요 😀 https://whotalk.us/velopert
주요 기능
- 소셜 계정 로그인
- 소켓을 사용한 실시간 익명/비익명 채팅
- 데이터 캐싱
- 유저 팔로우 기능
- 팔로우 한 유저 소식 구독
- 마이 페이지, 썸네일 클라이언트에서 정사각형으로 스케일 및 크롭 후 후 업로드
- 다국어 지원 (영어/한국어)
사용 된 기술
이 프로젝트에는 다음 기술들이 사용되었습니다. (일부는 생략 되었습니다)
- React.js
- Redux
- React-router
- Node.js
- Express
- MongoDB
- Mongoose
- Sockjs
- Sass
- Webpack
- Babel
- Passport
- Semantic-UI
- React-intl
- axios
- lru-cache
- alertify
- react-scroll
- redux-thunk
- masonry
- create-react-app
프로젝트를 여러분의 컴퓨터에서 설치하고 빌드하는 과정은 Git 저장소의 README.md 파일을 참조해주세요.