An intelligent project management system that uses AI agents to conduct research, create detailed project plans, and automatically set up Trello boards with tasks, assignments, and timelines.
- AI Research Crew: Conducts comprehensive industry research, project analysis, and team assessment
- AI Planning Crew: Breaks down projects into detailed tasks with timelines, assignments, and dependencies
- AI Execution Crew: Automatically creates and organizes Trello boards with cards, checklists, labels, and due dates
- REST API: Django REST Framework backend for managing organizations, projects, and team members
- Authentication: JWT-based authentication with email verification
- Swagger Documentation: Auto-generated API documentation
The system consists of three main components:
- Industry Researcher: Analyzes market trends and competitive landscape
- Project Analyzer: Evaluates technical requirements and risks
- Team Assessor: Reviews team capabilities and skill gaps
- Research Synthesizer: Consolidates findings into actionable insights
- Task Generator: Breaks down projects into 20-50 granular, actionable tasks
- Timeline Planner: Creates realistic schedules with milestones and critical paths
- Task Assigner: Matches tasks to team members based on skills and capacity
- Planning Synthesizer: Consolidates all planning outputs into execution-ready format
- Board Manager: Creates organized Trello board structure
- Task Manager: Transforms tasks into detailed Trello cards with checklists
- Workflow Organizer: Ensures proper task flow and dependencies
- Python 3.11+
- PostgreSQL
- Trello Account with API credentials
- OpenAI API Key
git clone <repository-url>
cd project_manager_crewpython -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activatepip install -r requirements.txtCreate a .env file in the project root:
# Django Settings
SECRET_KEY=your-django-secret-key
DEBUG=True
# Database Configuration
DB_NAME=project_manager_db
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_HOST=localhost
DB_PORT=5432
# OpenAI Configuration
OPENAI_API_KEY=your-openai-api-key
# Trello Configuration
TRELLO_API_KEY=your-trello-api-key
TRELLO_API_SECRET=your-trello-api-secret
TRELLO_TOKEN=your-trello-token
# JWT Configuration
ACCESS_TOKEN_LIFETIME=30 # minutes
REFRESH_TOKEN_LIFETIME=1 # days
# CORS Settings
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001- Get your API Key: https://trello.com/app-key
- Generate a token using the link on the API key page
- Add both to your
.envfile
For detailed instructions, see integrations/SETUP.md
# Create PostgreSQL database
createdb project_manager_db
# Run migrations
python manage.py makemigrations
python manage.py migrate
# Create superuser
python manage.py createsuperuserpython manage.py runserverThe API will be available at http://localhost:8000
Access the interactive API documentation:
- Swagger UI: http://localhost:8000/swagger/
- ReDoc: http://localhost:8000/redoc/
cd crews
python main.pyfrom crews.main import run_flow
import asyncio
project_data = {
"project_name": "E-Commerce Platform",
"project_description": "A modern e-commerce platform with AI recommendations",
"project_timeline": "2025-01-01 to 2025-06-30",
"industry": "E-Commerce",
"team_members": [
{
"name": "John Doe",
"email": "[email protected]",
"role": "Full Stack Developer",
"skills": ["python", "django", "react", "postgresql"],
"trello_member_id": "trello_id_here"
},
# ... more team members
]
}
asyncio.run(run_flow(project_data))POST /api/register/- Register new user and organizationPOST /api/login/- Login and get JWT tokensPOST /api/verify-email/- Verify email with codePOST /api/request-reset-password/- Request password resetPOST /api/reset-password/- Reset password with token
GET /api/organizations/- List organizationsPOST /api/organizations/- Create organizationGET /api/organizations/{id}/- Get organization detailsPUT /api/organizations/{id}/- Update organizationDELETE /api/organizations/{id}/- Delete organization
GET /api/projects/- List projectsPOST /api/projects/- Create projectGET /api/projects/{id}/- Get project detailsPUT /api/projects/{id}/- Update projectDELETE /api/projects/{id}/- Delete project
project_manager_crew/
βββ crews/ # AI agent crews
β βββ research_crew.py # Research and analysis agents
β βββ planning_crew.py # Task planning and scheduling agents
β βββ execution_crew.py # Trello board creation agents
β βββ main.py # Main workflow orchestration
βββ integrations/ # External service integrations
β βββ trello.py # Trello API wrapper
β βββ trello_tool.py # CrewAI tools for Trello
β βββ index.py # Abstract integration interface
β βββ SETUP.md # Integration setup guide
βββ organization/ # Organization and user management
β βββ models.py # User, Organization models
β βββ serializers.py # DRF serializers
β βββ views.py # API views
β βββ urls.py # URL routing
βββ project/ # Project management
β βββ models.py # Project, ProjectMember models
β βββ views.py # API views
β βββ tasks.py # Background tasks
βββ pm_master/ # Django project settings
β βββ settings.py
β βββ urls.py
β βββ wsgi.py
βββ requirements.txt # Python dependencies
βββ .env # Environment variables (create this)
βββ .gitignore
βββ README.md
- Django 5.2 - Web framework
- Django REST Framework - REST API
- PostgreSQL - Database
- JWT - Authentication
- CrewAI - Multi-agent AI framework
- OpenAI GPT-4 - Language model
- LangChain - AI tooling
- Trello API (via trello-py) - Project management
- drf-yasg - API documentation
# Run tests
python manage.py test
# Run with coverage
coverage run --source='.' manage.py test
coverage report-
Input: Provide project details (name, description, timeline, industry, team members)
-
Research Phase:
- AI agents research the industry and analyze project requirements
- Team capabilities are assessed
- Comprehensive research report is generated
-
Planning Phase:
- Project is broken down into 20-50 detailed tasks
- Realistic timeline with milestones is created
- Tasks are assigned to team members based on skills
- Complete execution plan is synthesized
-
Execution Phase:
- Trello board is created automatically
- Lists are set up (Backlog, To Do, In Progress, Review, Testing, Done)
- Cards are created for each task with:
- Detailed descriptions
- Acceptance criteria checklists
- Due dates
- Team member assignments
- Priority labels
- Type labels (Feature, Bug, Documentation)
-
Output: A fully populated Trello board ready for your team to start working!
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
Issue: ModuleNotFoundError: No module named 'crewai'
- Solution: Make sure you've activated your virtual environment and installed dependencies
Issue: pydantic_core._pydantic_core.ValidationError
- Solution: Check that all required fields are provided in
project_data
Issue: Trello API errors
- Solution: Verify your Trello API credentials in
.envand ensure your token has write permissions
Issue: Database connection errors
- Solution: Make sure PostgreSQL is running and credentials in
.envare correct
For issues and questions:
- Create an issue in the repository
- Check the API documentation at
/swagger/ - Review crew documentation in
crews/README.md
- Add support for ClickUp integration
- Add support for Jira integration
- Real-time progress tracking
- Email notifications for task assignments
- Advanced analytics and reporting
- Mobile app integration
- Slack/Discord bot integration
Built with β€οΈ using Django, CrewAI, and OpenAI