Skip to content

Commit

Permalink
Merge pull request #340 from develo-pool/refactor/#339-FileStructure
Browse files Browse the repository at this point in the history
Refactor/#339 file structure
  • Loading branch information
da-in authored Feb 5, 2023
2 parents f112a5c + bb1592b commit 31c2806
Show file tree
Hide file tree
Showing 135 changed files with 305 additions and 228 deletions.
1 change: 0 additions & 1 deletion .watchmanconfig

This file was deleted.

4 changes: 2 additions & 2 deletions App.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {NavigationContainer} from '@react-navigation/native';
import React, {useEffect} from 'react';
// import {Alert} from 'react-native';
import RootStack from './screens/RootStack';
import RootStack from './src/screens/RootStack';
import {QueryClient, QueryClientProvider} from 'react-query';
import {Provider} from 'react-redux';
import store from './slices';
import store from './src/slices';
import {
request,
PERMISSIONS,
Expand Down
166 changes: 121 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<image src="https://user-images.githubusercontent.com/66757141/191906174-e5a5d5d4-6762-41ea-9447-11490985ff4f.png" width="100px"/>

## Contents
- [Summary](#summary)
- [Latest Release](#latest-release)
- [Demo](#demo)
- [Start](#start)
Expand All @@ -14,38 +15,107 @@

<br/>

## Latest Release
**Google Playstore**
🔗 https://play.google.com/store/apps/details?id=com.app_pool_frontend
**AppStore**
🔗 https://apps.apple.com/kr/app/pool/id1640180474
**Web**
🔗 https://app-pool-firebase.web.app

<br/>

## Demo
## Summary

**Authentication (SignUp/Login)**
<image src="https://user-images.githubusercontent.com/72551358/197339969-3f884440-128e-45f1-902b-54088f3a5dd1.gif" width="150px"/>
<image src="https://user-images.githubusercontent.com/72551358/197340008-d22c2c8d-1f1b-4c46-a8df-78e138a45d7d.gif" width="150px"/>
`바로 닿는 메세지 POOL``Push 알림`으로 브랜드와 팔로워를 잇는 강력한 메세지 서비스입니다.
- 브랜드 등록 심사 요청을 통해 누구나 `브랜드`가 될 수 있습니다.
- 브랜드는 `Push 알림 메세지`를 생성할 수 있습니다.
- 유저는 원하는 브랜드를 팔로우하여 `Push 알림 메세지`를 받아볼 수 있습니다.

**Search Brand / Follow&UnFollow**
<image src="https://user-images.githubusercontent.com/72551358/197339992-f0f7d9f3-6032-4126-8ff1-4e346da88dce.gif" width="150px"/>
<br/>

**Read Messages / Create Comment**
<image src="https://user-images.githubusercontent.com/72551358/197340006-2e55f7cb-5043-418d-b455-c3541c28c097.gif" width="150px"/>
## Latest Release
<table>
<tr>
<th align='left'>Google Playstore</th>
<td>https://play.google.com/store/apps/details?id=com.app_pool_frontend</td>
</tr>
<tr>
<th align='left'>AppStore</th>
<td>https://apps.apple.com/kr/app/pool/id1640180474 </td>
</tr>
<tr>
<th align='left'>Web</th>
<td>https://app-pool-firebase.web.app</td>
</tr>
</table>

**Brand Assign**
<image src="https://user-images.githubusercontent.com/72551358/197341212-86abe19d-2447-454e-b328-a767af815577.gif" width="150px"/>
_\* 서버 운영이 2022.11로 종료되었습니다._

**Create Message**
<image src="https://user-images.githubusercontent.com/72551358/197340004-d5b0a7c8-bbee-4534-84a9-c9cf18283545.gif" width="150px"/>
<br/>

**Receive Message(Push Alarm)**
## Demo

**Information Web**
<image src="https://user-images.githubusercontent.com/72551358/197341213-881ecc14-9a98-49df-8b54-8077a4a15247.gif" width="150px"/>
<details open>
<summary>[Demo] Authentication</summary>
<table>
<tr>
<th>SignUp</th>
<th>Login</th>
</tr>
<tr>
<td><image src="https://user-images.githubusercontent.com/72551358/197339969-3f884440-128e-45f1-902b-54088f3a5dd1.gif" width="300px"/></td>
<td><image src="https://user-images.githubusercontent.com/72551358/197340008-d22c2c8d-1f1b-4c46-a8df-78e138a45d7d.gif" width="300px"/></td>
</tr>
</table>
</details>
<details>
<summary>[Demo] Search & Follow Brand</summary>
<table>
<tr>
<th>Search & Follow Brand</th>
</tr>
<tr>
<td><image src="https://user-images.githubusercontent.com/72551358/197339992-f0f7d9f3-6032-4126-8ff1-4e346da88dce.gif" width="300px"/></td>
</tr>
</table>
</details>
<details>
<summary>[Demo] Read & Create Message</summary>
<table>
<tr>
<th>Read Messages / Create Comment</th>
</tr>
<tr>
<td><image src="https://user-images.githubusercontent.com/72551358/197340006-2e55f7cb-5043-418d-b455-c3541c28c097.gif" width="300px"/></td>
</tr>
</table>
</details>
<details>
<summary>[Demo] Brand Assign</summary>
<table>
<tr>
<th>Brand Assign</th>
</tr>
<tr>
<td><image src="https://user-images.githubusercontent.com/72551358/197341212-86abe19d-2447-454e-b328-a767af815577.gif" width="300px"/></td>
</tr>
</table>
</details>
<details>
<summary>[Demo] Create & Receive Message</summary>
<table>
<tr>
<th>Create Message</th>
<th>Receive Message(Push Alarm)</th>
</tr>
<tr>
<td><image src="https://user-images.githubusercontent.com/72551358/197340004-d5b0a7c8-bbee-4534-84a9-c9cf18283545.gif" width="300px"/></td>
<td></td>
</tr>
</table>
</details>
<details>
<summary>[Demo] Information Web</summary>
<table>
<tr>
<th>Information Web</th>
</tr>
<tr>
<td><image src="https://user-images.githubusercontent.com/72551358/197341213-881ecc14-9a98-49df-8b54-8077a4a15247.gif" width="300px"/></td>
</tr>
</table>
</details>

<br/>

Expand All @@ -72,19 +142,19 @@ $ yarn lint #run eslint

<table>
<tr>
<th>코어</th>
<th align='left'>Core</th>
<td>ReactNative, TypeScript</td>
</tr>
<tr>
<th>상태관리</th>
<th align='left'>State Management</th>
<td>Redux, React-Query</td>
</tr>
<tr>
<th>패키지 매니저</th>
<th align='left'>Package Manager</th>
<td>Yarn</td>
</tr>
<tr>
<th>빌드</th>
<th align='left'>Build</th>
<td>Babel, Webpack </td>
</tr>
</table>
Expand All @@ -93,29 +163,35 @@ $ yarn lint #run eslint
<br/>

## Folder Tree
```
├── android
├── ios
├── dist # 빌드된 web 폴더
├── api # api 요청 관련 폴더
├── assets # svg, image, font, theme 등 정적 파일 폴더
├── components # 여러 page에서 사용하는 컴포넌트들
├── screens # React Navigation에서 사용하는 Screen들
├── hooks # react hooks
├── slices # redux slices 폴더
├── storages # Asyncstorage 관련 폴더
├── web # Web 관련 폴더
│ └── assets # Web favicon, manifest 등의 파일 폴더
```python
📂.github
┣ 📂workflows
📂dist # 빌드된 web 폴더
📂android
📂ios
📂web # Web 관련 폴더
📂assets # svg, image, font, theme 등 정적 파일 폴더
┣ 📂fonts
┣ theme.ts
📂src
┣ 📂api # api 요청 관련 폴더
┣ 📂components # 여러 page에서 사용하는 컴포넌트들
┣ 📂hooks # react hooks
┣ 📂screens # React Navigation에서 사용하는 Screen들
┣ 📂slices # redux slices 폴더
┣ 📂storages # Asyncstorage 관련 폴더
┣ App.tsx
┗ index.tsx
```

<br/>

## Commit Rule
| 타입 | 내용 |
|----------|-----------------------|
|----------|----------------------|
| style | 코드 스타일 혹은 포맷 |
| feature | 새로운 기능 |
| fix | 수정 |
| fix | 수정 |
| refactor | 코드 리팩토링 |
| design | 사용자 UI 수정 |
| test | 테스트 코드 |
Expand All @@ -124,7 +200,7 @@ $ yarn lint #run eslint

<br/>

## Branch
## Branch Rule
| 브랜치명 | 설명 |
|--------------------------------|-----------------------|
| main | 메인 브랜치 |
Expand Down
14 changes: 0 additions & 14 deletions __tests__/App-test.tsx

This file was deleted.

4 changes: 0 additions & 4 deletions app.json

This file was deleted.

31 changes: 0 additions & 31 deletions components/category/categoryList.ts

This file was deleted.

3 changes: 2 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';
import messaging from '@react-native-firebase/messaging';

const appName = 'app_pool_frontend';

messaging().setBackgroundMessageHandler(async remoteMessage => {
console.log('Message handled in the background!', remoteMessage);
onMessageReceived(remoteMessage);
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion components/AlertBox.tsx → src/components/AlertBox.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
import theme from '../assets/theme';
import theme from '../../assets/theme';
import {useSelector} from 'react-redux';
import {RootState} from '../slices';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, View} from 'react-native';
import theme from '../assets/theme';
import theme from '../../assets/theme';

export const PADDING = 24;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// import React, {useEffect, useRef} from 'react';
import React, {useEffect, useRef} from 'react';
import {Animated, StyleSheet, View} from 'react-native';
import theme from '../assets/theme';
import theme from '../../assets/theme';

const WIDTH = 167;
const HEIGHT = 4;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
StyleSheet,
Text,
} from 'react-native';
import theme from '../assets/theme';
import theme from '../../assets/theme';

function ScreenBottomButton({
name,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
Text,
KeyboardTypeOptions,
} from 'react-native';
import theme from '../assets/theme';
import theme from '../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';

interface Props {
Expand Down
2 changes: 1 addition & 1 deletion components/Title.tsx → src/components/Title.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
import theme from '../assets/theme';
import theme from '../../assets/theme';

interface Props {
title: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
View,
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
import theme from '../../assets/theme';
import theme from '../../../assets/theme';

export function InputTitle({title}: {title: string}) {
return <Text style={styles.text}>{title}</Text>;
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import {Pressable, StyleSheet, Text} from 'react-native';
import theme from '../../assets/theme';
import theme from '../../../assets/theme';

function LoginButton({
text,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import TextInputs from '../TextInputs';
import {InputTitle} from './AuthComponents';
import {CheckPassword} from './Validation';
import Icon from 'react-native-vector-icons/MaterialIcons';
import theme from '../../assets/theme';
import theme from '../../../assets/theme';

interface PasswordFormProps {
password: string;
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React from 'react';
import {Linking, StyleSheet, Text, View} from 'react-native';
import {useQuery} from 'react-query';
import {nickNameExist, usernameExist} from '../../api/auth';
import theme from '../../assets/theme';
import theme from '../../../assets/theme';
import {SignUpScreenProps} from '../../screens/SignUpScreen';
import TextInputs from '../TextInputs';
import Title from '../Title';
Expand Down
File renamed without changes.
Loading

0 comments on commit 31c2806

Please sign in to comment.