Skip to content

slysiele/Infosec-app

Repository files navigation

Information Security Fall 2025 Lab

This guide explains how to set up the Information Security Fall 2025 Lab application locally using Python.


Prerequisites

  • Python 3.10 or higher installed
  • Git (optional, for cloning the repository)
  • Docker (optional, for containerized setup)

Option I: Local Python Setup

1. Create a virtual environment

python3 -m venv venv

2. Activate the virtual environment

Windows (PowerShell):

.\venv\Scripts\Activate.ps1 OR ~.\venv\Scripts\Activate.ps1 OR ./venv/bin/activate

Windows (CMD):

.\venv\Scripts\activate.bat

Linux / macOS / Git Bash / MSYS:

source venv/bin/activate

3. Install required packages

python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt

4. Run the application

python app.py

The application will start at:

http://127.0.0.1:5000


Option II: Docker Setup

On Linux

docker build -t infosec_lab .
docker run -it -p 5000:5000 \
  -v $(pwd):/app \
  -v $(pwd)/uploads:/app/uploads \
  -v $(pwd)/infosec_lab.db:/app/infosec_lab.db \
  -e FLASK_APP=app.py \
  -e FLASK_ENV=development \
  infosec_lab

The application will start at:

http://127.0.0.1:5000

On windows:

docker build -t infosec_lab .
docker run -it -p 5000:5000 `
  -v ${PWD}:/app `
  -v ${PWD}/infosec_lab.db:/app/infosec_lab.db `
  -e FLASK_APP=app.py `
  -e FLASK_ENV=development `
  infosec_lab

The application will start at:

http://127.0.0.1:5000


Features

  • Registration with Name, Andrew ID, and Password
  • Login using Andrew ID + Password
  • Personalized greeting after login:

    Hello {Name}, Welcome to Lab 0 of Information Security course. Enjoy!!!

  • Logout returns to the landing page

Database

  • SQLite database: infosec_lab.db
  • Schema source of truth: schema.sql (edit here to add tables/columns)
  • Auto-created on first run by executing schema.sql

Folder Structure

InfoSec_Fall2025/
│── app.py
│── requirements.txt
│── readme.md
│── schema.sql
│── scripts/
│   └── dump_db.py
    |__ reset_db.py
│── static/
│    └── style.css
│── templates/
│    └── base.html, index.html, login.html, register.html, dashboard.html
└── infosec_lab.db  (auto-created)

Script Folder

The project includes a scripts/ folder with a simple reset utility.

  • Optional reset:
  python scripts/reset_db.py
  • Optional dump database:
  python scripts/dump_db.py

Link to download:

Note: Youtube Tutorials may help in installation process

About

python app with security features added gradually.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors