ProveIt is a sophisticated Flask-based project‑management platform that enables seamless team collaboration, task tracking, and evidence‑based progress documentation. Teams can break down complex projects into manageable tasks, assign responsibilities, and verify completion with uploaded evidence.
- Hierarchical Project Organization – Projects → Tasks → Sub‑tasks
- Task Approval Workflow – Owners can approve / reject submitted evidence
- Team Collaboration – Invite members with granular permissions
- Evidence Documentation – Secure file uploads as proof of completion
- Real‑time Analytics – Project progress, team performance, contribution metrics
- Notification System – Unified area for invites, approvals, and other alerts
- Responsive Design – Clean Tailwind UI that works on any device
| Layer | Tech / Library | Notes |
|---|---|---|
| Backend | Flask (Blueprints) | Modular routing & business logic |
| Database | SQLAlchemy ORM | Alembic migrations |
| Front‑end | Tailwind CSS | Modern, responsive components |
| Auth | Flask‑Login | Session management & access control |
| Testing | pytest, Selenium |
Unit + E2E coverage |
| Uploads | Werkzeug secure upload | MIME/type validation & safe storage |
- Python 3.9+
- pip
- Git
ProveIt is easy to set up and use, once cloned into the repository:
# 1. Clone the repository
git clone https://github.com/Oliverr48/proveit
cd proveit
# OR: cd proveit-main if opened from Zipped Code!
# 2. Create & activate a virtual environment
python -m venv venv
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Initialise the database
flask db upgradeSimply run pytest from the proveit directory, with -s -v flags for optional extra information for any configurations required.
pytest -s -v# Start the development server
python app.pyVisit http://127.0.0.1:5000 in your browser.
Here's a simple rundown of how you can go about ProveIt. It will help you not only to be a good contributing team member, but to help delegate and support one another through your work!
- Sign Up & Log In – Create an account to access your dashboard.
- Create a Project – Define deadlines and high‑level goals.
- Add Tasks & Sub‑tasks – Break work into actionable items.
- Invite Collaborators – Share the workload with teammates.
- Track Progress – Upload evidence; owners approve or request changes.
- Analyze Performance – Head to Analytics for visual insights.
- Get your work done! Watch your tasks tick off as our sleek UI displays your hard work!
- Task Evidence – Any file type with server‑side validation
- Task Reversion – Move “Done” tasks back to “In‑Progress” when needed
- Approval System – Owner sign‑off ensures quality control
- Performance Metrics – Time‑to‑completion and individual contribution stats
| Student ID | Name | GitHub |
|---|---|---|
| 23197683 | Oliver King | @Oliverr48 |
| 23959437 | Michelle Prayogo | @michelleprayogo |
| 24128968 | David Pang | @pohhui247 |
| 23724703 | Sam Dockery | @samdock04 |
This project is licensed under the MIT License – see the LICENSE file for details.
Made with ❤️ by Team ProveIt