This web application is a comprehensive project management assistant built with Flask. It allows users to:
- Generate Activity Network Diagrams (CPM/AON) from manual inputs or Excel file uploads.
- Perform Monte Carlo simulations to analyze project scheduling uncertainties.
- Visualize network diagrams, Gantt charts, S-curves, and criticality index charts.
- Interact with a Chat Bot (powered by OpenAI) that helps format and interpret project data.
- Manage user accounts (signup, login, logout) and submit feedback.
The system integrates various tools (Flask, SQLAlchemy, Graphviz, Matplotlib, and OpenAI) to support project planning, scheduling, and analysis.
Media3.mp4
- Excel Import:
Upload Excel files with activities, durations, and successors to generate network diagrams. - CPM Analysis:
Compute earliest start/finish and latest start/finish times to identify critical paths. - Monte Carlo Simulation:
Run simulations to estimate project completion times and assess uncertainties. - Graph Generation:
Generate network diagrams using Graphviz and Gantt charts using Matplotlib. - Chat Bot Interface:
Interact with an OpenAI-powered Chat Bot for project management guidance. - User Authentication:
Signup, login, and logout using Flask-SQLAlchemy and secure password hashing. - Feedback Submission:
Users can submit feedback that is stored in a SQLite database. - Email Notifications:
Send welcome emails upon signup using Flask-Mail.
- Python 3.9 (or later)
- Flask (and related packages listed in
requirements.txt) - A web browser to access the application
Additional Software Requirements:
- Graphviz: Make sure Graphviz is installed on your system (for generating network diagrams).
- SMTP Email Account: (e.g., Outlook, Gmail) for sending emails via Flask-Mail.
- SQLite: (Installed by default with Python) for the database backend.
- Clone the Repository:
git clone https://github.com/yourusername/your-repo-name.git cd your-repo-name - Install Dependencies:
pip install -r requirements.txt
- Set Up Environment Variables:
Create a.envfile (or set system environment variables) for sensitive information. For example:SECRET_KEY=your_secret_key MAIL_USERNAME=your_email@example.com MAIL_PASSWORD=your_email_password OPENAI_API_KEY=your_openai_api_key SQLALCHEMY_DATABASE_URI=sqlite:///users.db - Run the Application:
The application will be available at
flask run
http://localhost:5000/.
-
Home Page (Activity Network Diagram):
Manually input project activities, durations, and successors or import data from an Excel file.
The system will generate a network diagram, calculate critical path metrics, and display a Gantt chart. -
Monte Carlo Simulation:
Navigate to the simulation tab to run project schedule simulations. View simulation results, including S-curves and criticality index charts. -
Chat Bot:
Use the Chat Bot interface to ask questions about project management or request help with formatting activity data.
The Chat Bot processes your input (via OpenAI's GPT model) and returns formatted project data. -
User Authentication:
Sign up, log in, and log out using the provided forms.
Once logged in, users can also delete their account. -
Feedback:
Submit feedback via the feedback form. Your comments are stored in the database and can be viewed by administrators.
Contributions are welcome! If you have improvements or bug fixes, please follow these steps:
- Fork the repository.
- Create your feature branch:
git checkout -b feature/YourFeature
- Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin feature/YourFeature
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Feyzullah Yavan
Email: feyzullah.yavan@kit.edu
LinkedIn: https://www.linkedin.com/in/ugurfey Website Link: https://kitdec.pythonanywhere.com/

