This is the mobile application codebase for MyCargonaut, a ride-sharing and freight-sharing service that connects users for efficient and cost-effective transportation solutions. Built using React Native, this app is designed to deliver a seamless experience across Android and iOS devices.
- Features
- Tech Stack
- Installation
- Running Locally
- Folder Structure
- Environment Variables
- Contributing
- License
- User authentication (Login/Register) with JWT.
- Create and manage offers and requests on the go.
- Real-time shipment tracking with map integration.
- Search functionality with filters and sorting.
- Push notifications for updates and messages.
- User reviews and rating system.
- Framework: React Native
- Navigation: React Navigation
- State Management: Context API / Redux (if applicable)
- Backend Communication: REST and GraphQL
- Push Notifications: Firebase or OneSignal (if applicable)
-
Clone the repository:
git clone https://github.com/BatatiDE/mycargonaut-mobile.git cd mycargonaut-mobile
-
Install dependencies:
npm install
-
Setup environment variables: Create a
.env
file in the root directory and add the necessary environment variables (see Environment Variables). -
Install native dependencies (iOS only):
npx pod-install
-
Start the Metro bundler:
npm start
-
Run on Android:
npm run android
-
Run on iOS:
npm run ios
.
├── assets/ # Static assets (e.g., images, icons)
├── src/
│ ├── components/ # Reusable components
│ ├── navigation/ # React Navigation configurations
│ ├── screens/ # Screens for the app
│ ├── utils/ # Helper functions and utilities
│ ├── context/ # Context for managing global state
│ ├── types/ # TypeScript type definitions
├── .eslintrc.json # ESLint configuration
├── .prettierrc # Prettier configuration
├── package.json # Dependencies and scripts
└── README.md # Project documentation
The app requires the following environment variables:
Variable | Description |
---|---|
API_URL |
Base URL for the backend API |
MAP_API_KEY |
API key for map services (Google Maps, etc.) |
FIREBASE_CONFIG |
Firebase configuration for push notifications |
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m "feat: Add your feature"
- Push to your branch:
git push origin feature/your-feature
- Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.