A React Native mobile application built with Expo for the BAC Platform, providing a streamlined experience for student registration and application management.
- User registration and authentication
- Application form submission
- Document upload and management
- Application status tracking
- Real-time updates on application progress
- Secure admin authentication
- Application review dashboard
- Document verification
- Application status management
- Student communication tools
- Frontend Framework: React Native with Expo
- Language: TypeScript
- State Management: React Context API
- Navigation: React Navigation
- UI Components: Custom components with React Native Paper
- Storage: AsyncStorage (local), Firebase Storage (cloud)
- Authentication: Firebase Auth
- Database: Firebase Realtime Database (MVP)
(Screenshots will be added as the app develops)
BACApp/
├── assets/ # Images, logos, PDF icons, etc.
├── components/ # Reusable UI components
├── constants/ # App-wide constants
├── context/ # Global context providers
├── navigation/ # Stack/Tab navigators
├── screens/ # All screen pages
│ ├── student/ # Student-specific screens
│ ├── admin/ # Admin-specific screens
│ └── shared/ # Shared screens (auth, etc.)
├── services/ # API calls, Firebase wrappers
├── utils/ # Helper functions
├── hooks/ # Custom React hooks
└── db/ # Database schema and config
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI
- iOS Simulator (for Mac) or Android Studio (for Android development)
-
Clone the repository:
git clone [repository-url] cd BACApp -
Install dependencies:
npm install # or yarn install -
Start the development server:
npm start # or yarn start -
Run on your preferred platform:
- Press
ifor iOS simulator - Press
afor Android emulator - Scan QR code with Expo Go app for physical device
- Press
-
Create a
.envfile in the root directory:FIREBASE_API_KEY=your_api_key FIREBASE_AUTH_DOMAIN=your_auth_domain FIREBASE_PROJECT_ID=your_project_id FIREBASE_STORAGE_BUCKET=your_storage_bucket FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id FIREBASE_APP_ID=your_app_id -
Update the Firebase configuration in
services/firebase.ts
- Follow TypeScript best practices
- Use functional components with hooks
- Implement proper error handling
- Write meaningful comments
- Follow the established project structure
- Create feature branches from
main - Use meaningful commit messages
- Submit PRs for review
- Keep the main branch stable
- Never commit sensitive data or API keys
- Implement proper authentication checks
- Validate all user inputs
- Use secure storage for sensitive data
- Follow Firebase security rules
- Gradebook system integration
- Real-time notifications
- Offline support
- Push notifications
- Analytics dashboard
- Multi-language support
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- [Your Name] - Lead Developer
- [Other Team Members]
- Expo team for the amazing framework
- React Native community
- Firebase team
- All contributors and supporters