Deskripsi: - fitur ganti mode tema - penerapan tema pada semua fitur NO Issues
87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
# Project Overview: Desa+
|
|
|
|
Desa+ is a mobile application built with React Native and Expo, designed to facilitate management and communication within villages/communities. It aims to streamline village administration, inter-community communication, and the management of essential information.
|
|
|
|
## Key Features:
|
|
- Village announcements and information
|
|
- Community discussion forum
|
|
- Village activity calendar
|
|
- Village documentation and archives
|
|
- Project and task management
|
|
- Member and organizational structure management
|
|
- Push notifications for important updates
|
|
- Verification and authentication features
|
|
|
|
## Technologies Used:
|
|
- **React Native**: Cross-platform mobile development framework.
|
|
- **Expo**: Platform for React Native application development.
|
|
- **Firebase**: Backend services including Authentication, Realtime Database, and Cloud Messaging.
|
|
- **Redux Toolkit**: State management.
|
|
- **React Navigation**: Application navigation.
|
|
- **TypeScript**: For type safety.
|
|
|
|
## Building and Running:
|
|
|
|
### Installation
|
|
1. **Clone the repository:**
|
|
```bash
|
|
git clone <repository-url>
|
|
cd mobile-darmasaba
|
|
```
|
|
2. **Install dependencies:**
|
|
```bash
|
|
npm install
|
|
```
|
|
3. **Configure environment variables:**
|
|
Create a `.env` file in the root directory and add the following variables:
|
|
```
|
|
URL_API=<api-endpoint>
|
|
URL_OTP=<otp-service-endpoint>
|
|
URL_STORAGE=<storage-endpoint>
|
|
URL_FIREBASE_DB=<firebase-database-url>
|
|
PASS_ENC=<encryption-password>
|
|
WA_SERVER_TOKEN=<whatsapp-server-token>
|
|
IOS_GOOGLE_SERVICES_FILE=<path-to-ios-google-services>
|
|
```
|
|
|
|
### Running the Application
|
|
- **Start development server:**
|
|
```bash
|
|
npx expo start
|
|
```
|
|
- **Run on Android emulator/device:**
|
|
```bash
|
|
npm run android
|
|
```
|
|
- **Run on iOS simulator/device:**
|
|
```bash
|
|
npm run ios
|
|
```
|
|
|
|
### Build Production
|
|
- **Build Android production package:**
|
|
```bash
|
|
npm run build:android
|
|
```
|
|
|
|
## Development Conventions:
|
|
|
|
### Project Structure:
|
|
- `app/`: Main page files.
|
|
- `components/`: Reusable UI components, categorized by feature (e.g., `announcement/`, `auth/`, `discussion/`).
|
|
- `assets/`: Images and static assets.
|
|
- `constants/`: Global constants.
|
|
- `lib/`: Libraries and utilities.
|
|
|
|
### Contribution Guidelines:
|
|
1. Fork the repository.
|
|
2. Create a new feature branch (`git checkout -b feature/FeatureName`).
|
|
3. Commit your changes (`git commit -m 'Add FeatureName feature'`).
|
|
4. Push to the branch (`git push origin feature/FeatureName`).
|
|
5. Create a pull request.
|
|
|
|
## Platform Support:
|
|
- ✅ Android
|
|
- ✅ iOS
|
|
- ❌ Web (not yet optimized)
|