Project lifecycle
drive link: https://drive.google.com/drive/folders/18EJgL5evH_WGUsI512HfTcAXwmhR2vyx?usp=drive_link
A complete step-by-step guide to run this Flask-based Project Management Portal on a Linux Virtual Machine using VMware Workstation.
| Component | Recommended | Minimum |
|---|---|---|
| Guest OS | Ubuntu 24.04 LTS | Ubuntu 22.04 LTS |
| vCPU | 4 cores | 2 cores |
| RAM | 8 GB | 4 GB |
| Disk Space | 60 GB | 40 GB |
| Network | NAT (default) | Bridged (for LAN access) |
- Enable Virtualization (Intel VT-x or AMD-V) in your BIOS/UEFI settings.
- Install VMware Workstation Pro (or Player) on your Windows host.
- Download the latest Ubuntu ISO from ubuntu.com.
- Open VMware Workstation → Create a New Virtual Machine.
- Select Typical (recommended).
- Choose Installer disc image file (iso) and select the Ubuntu ISO.
- Set VM name:
project-portal-ubuntu. - Set disk size to 60 GB.
- Click Customize Hardware:
- Memory: 8192 MB
- Processors: 4
- Network Adapter: NAT
- (Optional) Enable Shared Folders
- Click Finish and power on the VM.
- Choose Normal installation.
- Enable third-party software for graphics and Wi-Fi.
- Create your username and password.
- Complete installation and reboot.
- Remove the ISO when prompted.
sudo apt update
sudo apt install -y open-vm-tools open-vm-tools-desktop
sudo rebootsudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-venv python3-pip python3-dev \
build-essential git curl wkhtmltopdfsudo snap install code --classicMethod A: Using Shared Folder (Recommended)
Enable Shared Folders in VMware VM Settings. Copy project folder from host to shared location. In Ubuntu terminal:
mkdir -p ~/projects
cp -r /mnt/hgfs/<your-shared-folder-name>/project_portal ~/projects/
cd ~/projects/project_portalMethod B: Git Clone
mkdir -p ~/projects
cd ~/projects
git clone <your-repository-url>cd ~/projects/project_portal # Change folder name as needed
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip setuptools wheel
pip install -r requirements.txtexport WKHTMLTOPDF_PATH=/usr/bin/wkhtmltopdf
# Make it permanent
echo 'export WKHTMLTOPDF_PATH=/usr/bin/wkhtmltopdf' >> ~/.bashrc
source ~/.bashrcpython app.pyOpen your browser and go to: http://127.0.0.1:5000 Default Login Credentials:
Username: admin Password: admin@72$
Important: Change the password immediately after first login.
Access from Host Machine (Optional)
# Get VM IP address
hostname -I
Then open on host browser: http://<vm-ip-address>:5000
If port is blocked, allow it:
Bashsudo ufw allow 5000/tcp