A simple Flask-based web application that allows users to manage projects and their associated tasks. Each project has its own set of tasks, and you can create, update, delete projects and tasks interactively.
-
Projects
- Create new projects.
- View all projects on the homepage.
- Delete a project along with all associated tasks.
-
Tasks
- Add tasks to specific projects.
- Mark tasks as complete or incomplete.
- Delete individual tasks.
- Backend: Flask (Python)
- Database: SQLite (via SQLAlchemy ORM)
- Frontend: HTML, CSS, Jinja2, Bootstrap for styling.
Ensure you have the following installed on your machine:
- Python 3.7 or higher
- pip (Python package manager)
-
Clone the Repository
git clone https://github.com/your-username/project-task-manager.git cd project-task-manager
-
Create a Virtual Environment
python3 -m venv venv source venv/bin/activate # On Linux/Mac venv\Scripts\activate # On Windows
-
Install Dependencies
pip install -r requirements.txt
-
Start the Application
Run the application in development mode:
python app.py
-
Access the Application
Open your browser and navigate to:
http://127.0.0.1:5000/
The homepage lists all projects.
- Add a new project using the input form at the top of the page.
- View tasks associated with a project using the "View Tasks" button.
- Delete a project (and all tasks associated with it) using the "Delete Project" button.
Inside a specific project’s task page, you can:
- Add tasks using the "Add Task" form.
- Mark tasks as complete or incomplete.
- Delete individual tasks.
A "Back to Projects" button is available for easy navigation to the homepage.
pip install -r requirements.txt
- A pastel gradient background gives the application a soft and modern look.
- Responsive design is ensured using Bootstrap’s grid system.
- Interactive user experience, with hover effects and confirmation prompts for deleting tasks and projects.
- No authentication or user access control (all features are open to anyone who uses the app).
- Currently, there’s no pagination for larger lists of projects or tasks.
- Add user authentication to make projects and tasks user-specific.
- Implement advanced task features, such as deadlines or task priorities.
- Improve database efficiency for handling large datasets.
- Add API endpoints for integration with other systems.
Contributions are welcome! If you'd like to report a bug, suggest a feature, or submit improvements:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m "Add feature"
). - Push to the branch (
git push origin feature-name
). - Open a pull request.
Happy coding!