Internet databases
- Python 100%
| app-task-1 | ||
| app-task-2 | ||
| tasks | ||
| .gitignore | ||
| docker-compose.yml | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Internet Databases - Project
Repository for course assignments in Internet Databases.
Quick Start
Prerequisites
1. Start MariaDB Database
docker compose up -d
This starts MariaDB 11.2.2 and Adminer with the following configuration:
- MariaDB Host:
127.0.0.1:3306 - Database:
python_db - User:
python - Password:
example - Root Password:
root - Adminer UI: http://localhost:8080 (web-based database management)
2. Install Dependencies
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Sync dependencies
uv sync
3. Run Base Application
uv run python -m app
Working with Tasks
Task requirements and reference code from the instructor are in tasks/taskN/.
My implementations go in app-task-N/ directories.
Example: Running Task 1
cd app-task-1
uv run python -m app
See:
- tasks/task1/README.md - Assignment requirements
- app-task-1/README.md - Implementation
Database Connection
The application connects to MariaDB using configuration from app/config.py:
DB_CONFIG = {
"host": "127.0.0.1",
"port": 3306,
"user": "python",
"password": "example",
"database": "python_db"
}
Database Management
Option 1: Adminer Web UI (Recommended)
Open http://localhost:8080 in your browser and login with:
- System: MySQL
- Server:
mariadb - Username:
python - Password:
example - Database:
python_db
Option 2: Command Line
# Access MariaDB CLI
docker compose exec mariadb mariadb -u python -p example python_db
# View logs
docker compose logs -f mariadb
# Stop database
docker compose down
# Reset database (WARNING: deletes all data)
docker compose down -v
Submission
Tasks are submitted as ZIP files containing:
- Source code from
app-task-N/ - Report/documentation (if required)
- Any additional materials specified in task requirements
Related Repositories
- OOP-2 - Object-Oriented Programming 2 course
License
Educational project for academic purposes.