Deskripsi: - fitur ganti mode tema - penerapan tema pada semua fitur NO Issues
2.6 KiB
2.6 KiB
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
- Clone the repository:
git clone <repository-url> cd mobile-darmasaba - Install dependencies:
npm install - Configure environment variables:
Create a
.envfile 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:
npx expo start - Run on Android emulator/device:
npm run android - Run on iOS simulator/device:
npm run ios
Build Production
- Build Android production package:
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:
- Fork the repository.
- Create a new feature branch (
git checkout -b feature/FeatureName). - Commit your changes (
git commit -m 'Add FeatureName feature'). - Push to the branch (
git push origin feature/FeatureName). - Create a pull request.
Platform Support:
- ✅ Android
- ✅ iOS
- ❌ Web (not yet optimized)