Project Overview: We are deploying a complex web and mobile application. The web application consists of a React.js frontend and a Node.js backend, while the mobile application is built with React Native. The repositories are currently backed up and will need to be imported into GitHub. Deployment will be on AWS using EC2, S3, Elastic Beanstalk, and CloudFront. Post-deployment tasks include branding and color customization, connecting the web application to a custom domain, and integrating the mobile application with Android Studio and App Center to generate APKs.
Key Responsibilities:
Repository Setup:
Import the existing web and mobile application repositories into GitHub. Ensure that the repositories are well-organized, with appropriate branching strategies and version control practices. Infrastructure Setup:
AWS EC2: Configure and provision EC2 instances for the Node.js backend. AWS S3: Set up S3 buckets for hosting static assets of the React.js frontend. Elastic Beanstalk: Deploy the Node.js backend using Elastic Beanstalk for scalable application management. CloudFront: Configure CloudFront for content delivery, ensuring fast and secure distribution of web content. Deployment:
Deploy the React.js frontend to S3 and link it to CloudFront for global content delivery. Deploy the Node.js backend to EC2 via Elastic Beanstalk. Implement CI/CD pipelines for automated builds, testing, and deployments. Branding and Customization:
Update the branding and color scheme of both the web and mobile applications based on design specifications. Ensure consistency across all platforms, adhering to the brand guidelines. Domain and SSL Configuration:
Connect the web application to a custom domain. Set up SSL certificates to ensure secure communication for both the frontend and backend. Mobile Application Deployment:
Integrate the mobile application with Android Studio for local testing and development. Set up App Center for continuous integration, delivery, and testing of the React Native app. Generate APK files after applying branding changes.
Requirements:
Advanced experience in DevOps, specifically with AWS services (EC2, S3, Elastic Beanstalk, CloudFront). Strong expertise in React.js, Node.js, and React Native development. Proficiency with GitHub and CI/CD pipelines. Experience with branding and customization of web and mobile applications. Familiarity with Android Studio and App Center for mobile app deployment. Ability to manage complex projects with multiple dependencies and tight deadlines.