A simple Database-as-a-Service (DBaaS) application developed using Flask, deployed on an Amazon EC2 server. This project provides a web-based interface for users to create, manage, and interact with databases seamlessly.
- User-friendly web interface for database operations
- Support for creating instance, database and user
- Execution of SQL queries through the web interface
- Deployed on Amazon EC2 for scalability and reliability
- Backend: Python, Flask
- Frontend: HTML, CSS (with Flask templating)
- Deployment: Amazon EC2
- Python 3.x
- pip (Python package installer)
- Amazon EC2 instance (for deployment)
-
Clone the repository:
git clone https://github.com/Athoillah21/DBaaS-Project.git cd DBaaS-Project -
Create a virtual environment (optional but recommended):
python3 -m venv venv source venv/bin/activate -
Run the application:
python app_dbaas.py
The application will be accessible at
http://localhost:5000/.
-
Launch an EC2 instance:
- Choose an Amazon Machine Image (AMI) (e.g., Ubuntu Server)
- Select an instance type (e.g., t2.micro)
- Configure security groups to allow HTTP (port 80) and SSH (port 22)
-
SSH into your EC2 instance:
ssh -i your-key.pem ubuntu@your-ec2-public-ip
-
Install necessary packages:
sudo apt update sudo apt install python3-pip python3-venv
-
Clone the repository and set up the application:
git clone https://github.com/Athoillah21/DBaaS-Project.git cd DBaaS-Project python3 -m venv venv source venv/bin/activate
-
Run the application:
nohup python app_dbaas.py > /tmp/running_dbaas.log &
Ensure that your Flask app is configured to run on
0.0.0.0to be accessible externally.
- Navigate to
http://your-ec2-public-ip:5000/in your web browser. - Use the interface to create new databases, execute SQL queries, and manage existing databases.
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Flask - Micro web framework used for the application
- Amazon EC2 - Cloud platform for deployment