Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCT Dashboard

MCT is a Flask project management dashboard built around a simple hierarchy:

Projects -> Milestones -> Checkpoints -> Tasks

It is intended for personal work, small teams, and project tracking where the important data is progress, blockers, costs, documents, and task ownership.

Features

  • Project, milestone, checkpoint, and task tracking
  • Task dependencies and status management
  • Problem tracking at project, milestone, or checkpoint level
  • Markdown project documents
  • Cost and work-time tracking
  • User login, user profiles, task assignments, and personal/team notes
  • Search by task/problem code
  • Optional local AI project briefs through a Qwen sidecar service

Tech Stack

  • Python and Flask
  • Flask-SQLAlchemy
  • Flask-Login
  • Flask-WTF
  • SQLite by default
  • Bootstrap 5, Font Awesome, and Chart.js

Setup

Requirements

  • Python 3.10 or newer
  • Git

Install

git clone https://github.com/JMartinezRuiz/MCT.git
cd MCT
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt

Configure

Create a local .env or set environment variables in your shell. At minimum, set a real secret key before exposing the app outside your machine.

$env:SECRET_KEY = "replace-with-a-long-random-secret"
$env:DATABASE_URL = "sqlite:///D:/Github/MCT/mct.db"

Initialize And Run

flask --app run.py init-db
python run.py

The app runs at:

http://127.0.0.1:5000

Default local credentials:

Username: admin
Password: admin

Change the default password after the first login.

Local AI Briefs

MCT can generate a project brief from the current project structure by calling a local Qwen sidecar service.

On this machine, the local model was found at:

D:\AI\Models\Qwen\Qwen3.5-0.8B

Start the sidecar:

& "D:\AI\Models\Qwen\Qwen3.5-0.8B\.venv\Scripts\python.exe" scripts\qwen_mct_server.py --model-dir "D:\AI\Models\Qwen\Qwen3.5-0.8B"

Then run MCT with:

$env:MCT_AI_BASE_URL = "http://127.0.0.1:7861"
$env:MCT_AI_TIMEOUT = "90"
python run.py

More details are in docs/AI.md.

Project Structure

app/
  blueprints/      Flask routes grouped by feature
  forms/           WTForms form definitions
  models/          SQLAlchemy models
  services/        Service integrations
  static/          CSS, JavaScript, images
  templates/       Jinja templates
  utils/           Database and formatting helpers
docs/              Project documentation
scripts/           Utility and AI sidecar scripts
tests/             Unit tests
run.py             Development entry point

Tests

python -m compileall -q app run.py tests scripts
python -m unittest discover -s tests

Security Notes

  • Do not commit .env, local databases, uploads, virtual environments, or model files.
  • Set SECRET_KEY before using the app beyond local development.
  • The default admin/admin account is for first local setup only.
  • Passwords are stored with Werkzeug password hashing. Existing legacy plain-text passwords are upgraded after a successful login.

Fine-Tuning Notes

The repository includes a seed data exporter for future supervised fine-tuning:

python scripts\export_ai_training_seed.py --output data\ai_training_seed.jsonl

The exported records need curated assistant responses before they are useful for supervised fine-tuning. See docs/AI.md.

License

MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages