The aim of this project is demo a full-stack solution using Python Flask as backend and VueJS as frontend and deployment using AWS Beanstalk.
As this project progresses, I will be using pytest framework for unit testing the backend whilst using Cypress to perform end-to-end tests.
https://awsbeanstalk.paulpatena.com/#/
- The user should be able to see his task list, a maximum of 10 entries. Button to "add new card" should be disabled when number of entries reach ten.
- The text area should automatically grow, the data on a text-area should automatically be saved when it comes out of focus.
- When running the UI in debug mode, you need to configure that API requests goes to your debug server port and when in production, api requests should be directed to the actual server. This is done by using the .env files in the Vue project.
- When running the backend server in debug mode, its is being served at port 5000 whilst we expect that the debug UI is running at port 8080, we need to enable CORS only during debugging so that in-flight requests from UI won't be blocked by browser.
- Go to user_interface_in_vue directory
npm install
npm run build
- Install EB CLI on your PC
- Amazon Web Services account
- Navigate to the root of project, in terminal
eb init
and following the prompts - In terminal
eb create
to setup your application and env in the cloud, this might take 5+ minutes on initial configuration - Transpile your VueJS the run
eb deploy
- Pre-requisite that you have your own domain name
- In ACM, Create a public cert for your domain *.yourdomain.com
- In EC2, Add a HTTPS listener in your load balancer and attach your certificate (from ACM)
- In the DNS settings of your domain registrar, add a CNAME that points to Elastic Beanstalk applications DNS name