Migrate Mobile App from Flutter to React Native & Transition Backend to AWS/MongoDB
Description
We need to migrate our mobile application from Flutter to React Native to align with our web application, which is built with React. This will allow for a more efficient and unified codebase across both platforms. Additionally, we will transition our backend services from Firebase to AWS and MongoDB.
Current Setup:
-
Mobile App: Built with Flutter, using BLoC for state management (complex to decouple).
-
Web App: Built with React, hosted on AWS Amplify.
-
Backend: Currently on Firebase.
Objective:
-
Convert the existing web app into a React Native mobile app to share most of the codebase.
-
Implement AWS and MongoDB as the new backend solution.
Scope of Work:
-
Mobile App Migration:
-
Recreate the existing mobile app functionality in React Native using the same logic as the React web app.
-
Ensure smooth UX and feature parity with the current Flutter app.
-
Optimize performance for mobile devices.
-
-
Backend Migration:
-
Replace Firebase with AWS services and MongoDB.
-
Implement authentication, database, and API integrations in AWS.
-
Ensure data migration and security best practices.
-
-
Codebase Unification:
-
Refactor components and logic to maximize code sharing between React web and React Native.
-
Implement efficient state management in React Native (consider Redux, Recoil, or Context API).
-
Resources:
-
Current Mobile App: scheduler-systems.com
-
Current Web App: Amplify Hosted Web App
Deliverables:
-
Fully functional React Native app matching current Flutter app features.
-
AWS & MongoDB backend integrated with both mobile and web apps.
-
Documentation on setup, deployment, and maintenance.
Acceptance Criteria:
-
Mobile app is fully migrated and functional on both iOS and Android.
-
Web and mobile apps share a unified codebase with minimal duplication.
-
Backend services successfully transitioned to AWS & MongoDB.
-
Comprehensive testing is completed, including unit, integration, and end-to-end tests.