This project demonstrates the deployment of an interactive web application on an Amazon EC2 instance using Flask, SQLite3, and Apache.
The application allows users to register, log in, view personal information, and interact with a file upload/download feature.
This project fulfills the following requirements:
-
EC2 Instance Launch:
- Set up my AWS portal.
- Launched an EC2 instance.
- Used Ubuntu Server 24.04 LTS as Amazon Machine Image (AMI).
- Created a key pair for login and set up network and storage settings.
-
Web Server and Database Configuration:
- Connected to the instance via SSH.
- Configured Apache web server to serve the Flask application using mod_wsgi.
- Set up SQLite3 database to store user data.
-
Interactive Web Page Design:
-
The interactive web page implements the following functionalities:
-
a. Registration Page:
-
b. User Profile Page:
- Redirects to the user profile page after successful registration form submission.
- Displays the user information entered during registration.
- If the user uploaded a file during registration, it displays the word count from the uploaded file on this page
and provides a button to download the uploaded file. - Includes a log out button which redirects the user back to the log in page.
- Session handling is used for user authentication and maintaining user states.

-
c. Log in Page:
-
The web application is accessible at the following URL:
- Amazon EC2
- Apache
- mod_wsgi
- Flask
- SQLite3
- Python
- HTML
- CSS

