This is an Expo project created with create-expo-app.
-
Install dependencies
npm install
-
Start the app
npx expo start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the app directory. This project uses file-based routing.
When you're ready, run:
npm run reset-projectThis command will move the starter code to the app-example directory and create a blank app directory where you can start developing.
To learn more about developing your project with Expo, look at the following resources:
- Expo documentation: Learn fundamentals, or go into advanced topics with our guides.
- Learn Expo tutorial: Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
Join our community of developers creating universal apps.
- Expo on GitHub: View our open source platform and contribute.
- Discord community: Chat with Expo users and ask questions.
교회 전용 게시판 및 알림 앱입니다.
- React Native (Expo Router)
- TypeScript
- Axios
- expo-notifications
- Spring Boot 3
- Spring Security + JWT
- JPA / Hibernate
- MySQL
church/
├── front/ # React Native (Expo)
└── back/ # Spring Boot
git clone https://github.com/your-repo/church.git
cd churchback/src/main/resources/application-database.properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://DB주소:3306/DB이름?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
spring.datasource.username=유저명
spring.datasource.password=비밀번호back/src/main/resources/application-jwt.properties
jwt.secret=시크릿키 (32자 이상 권장)
jwt.access-expiration=900000
jwt.refresh-expiration=1209600000CREATE TABLE push_token (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
token VARCHAR(255) NOT NULL UNIQUE,
created_date DATETIME,
FOREIGN KEY (user_id) REFERENCES user(user_id)
);cd back
./gradlew bootRuncd front
npm installfront/.env
EXPO_PUBLIC_API_URL=http://서버주소:8080
EXPO_PUBLIC_PROJECT_ID=expo-project-id
EXPO_PUBLIC_PROJECT_ID는 expo.dev 에서 확인
front/google-services.json
Firebase 콘솔 → 프로젝트 설정 → 일반 → 앱 목록에서 다운로드
npx expo start푸시 알림은 실기기에서만 동작해요. (웹/시뮬레이터 불가)
- Firebase 콘솔 에서 프로젝트 생성
- Android 앱 등록 (
com.geonuk.churchapp) google-services.json다운로드 →front/폴더에 복사- EAS credentials 설정:
eas credentials- FCM V1 서비스 계정 키 등록
eas build --profile development --platform androideas build --profile production --platform android| 역할 | 권한 |
|---|---|
| 목사 | 게시글 작성 / 수정 / 삭제 |
| 신도 | 게시글 읽기 |
현재는 모든 로그인 사용자가 작성 가능하도록 설정되어 있습니다.
아래 파일들은 보안상 git에 올라가지 않아요. 직접 생성해야 합니다:
front/.envfront/google-services.jsonback/src/main/resources/application-database.propertiesback/src/main/resources/application-jwt.properties