Project 1 - Site Created 2 ways on AWS
200 points
Due dates - Oct. 6, 11pm
INDIVIDUAL or GROUP Work - YOUR choice to work individually or in a group but, the requirements are the same.
Project Description & Requirements
Goals of this Project
You will create a website consisting of traditional static pages together with a ReactJS Single Page Application ("App") that serves as the frontend foundation for Project 2. It will contain a Home page, About page, Contact page, Sign In page, and an App page that serves as the ReactJS SPA that will serve as the frontend foundation for Project 2.You will then deploy in 2 different ways on AWS (cloud). The website should be for a startup company dealing in Computer Vision and ML technologies. You must come up with the idea of what the company produces keeping Project 2 requirements in mind.
PART 1 - Create frontend content
- using HTML, CSS and Javascript (Bootstrap --learn on own) - you are to create a Home Page, About and Contact page and have an additional page that is called "App". Additionally in the navigation bar across the top is a Login link that brings up a sign in page..
-
The "App" page shall be implemented entirely as a ReactJS Single Page Application (SPA).This page serves as the frontend foundation for Project 2 (read detals there).
At this stage, the SPA does not require a backend, nor does it require a fully defined application purpose. The application purpose and functionality will be determined during the Project 2 proposal phase.
-
Instead, it should demonstrate:
- multiple React components ( at least three reusable React components, excluding the top-level App component).
- component composition
- state management
- routing/navigation within the SPA (if appropriate)
- responsive layout using Bootstrap
- Client-side JavaScript should be used for minimum 2 GUI interactions. One must be to realign the menu when changing scale of the viewed web content (think browser to mobile) using Bootstrap. The other should be related to your "App" (a SPA) and should demonstrate React state or component interaction within the "App"".
- Images and graphics are required on ALL of the pages you create.
- CSS style must be present on EACH of your pages to create an interesting design that uses the CSS box model.
- The sign in page should have a form to accept a login, password text fields and submit button. It also has a "create account" button. This page will use ReactJS and you will have this page consist of minimal html (only empty div tags) that is populated with React Components. The page should contain only the minimal HTML necessary to host the React application. All visible interface elements should be implemented as React components. If the "create account" is hit then to the right of the login form a new form appears asking for name, email, login and password as separate text fields with a enter button is hit. When this enter button is hit, it simply makes all of the create account form elements dissapear and only the original login form remains but, this time with the new login and password values filled in. So you will need to use state to preserve the login and password via React.
IMPORTANT
The React App page created in Project 1 will become the frontend for Project 2. Students should design the interface, navigation, styling, and React components so they can be reused and extended rather than rewritten.
The FULL (and approved through a proposal process) purpose and functionality of the React App will not be determined until the Project 2 proposal phase.
For Project 1, the goal is to build a reusable React frontend framework demonstrating modern React concepts rather than a completed application.
PART 2 - Implementing via AWS EC2
You are to setup an EC2 instance, and install Apache Webserver. Then upload all of the content. See Amazon documentation on how to do this (or search web for your own informaiton)
REQUIREMENTS PART 2
SPECIAL ISSUE 1 You must SOLVE---what happens when an instance stops running
SPECIAL ISSUE 2 SOLVE---what happens when reboot instance& what can you do?
|
PART 3 - Implementing via AWS S3
You are to re-implement your site by deploying to AWS S3.. See Amazon documentation on how to do this (or search web for your own informaiton)
REQUIREMENTS PART 3
|
Discussion
Be prepared to discuss in class both Part 1 and Part 2 and what are the advantages and disadvantages of Part 2 and Part 3 approaches.
Evaluation Guidelines
-
See rubric on Canvas
Deliverables
- Turn in Deployed wesite URLs AND GitHub repository URLs for both Part 2 and 3 to Canvas ->Assignments -> Project 1 (see due date and time at top). Wiki on each repository should be created as specified including all specified media and links to youtube as specified.
- Discussion in class (must be present when discussed during class)