https://github.com/igor518/todolist
Symfony 7 portfolio project. Todo list simple task tracker.
https://github.com/igor518/todolist
php storefront symfony tasktracker
Last synced: about 1 month ago
JSON representation
Symfony 7 portfolio project. Todo list simple task tracker.
- Host: GitHub
- URL: https://github.com/igor518/todolist
- Owner: igor518
- License: gpl-3.0
- Created: 2025-02-20T12:57:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-01T00:33:09.000Z (over 1 year ago)
- Last Synced: 2025-03-01T00:50:27.229Z (over 1 year ago)
- Topics: php, storefront, symfony, tasktracker
- Language: PHP
- Homepage: https://yourtask.pp.ua/
- Size: 73.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# DOTaskly - Task Management Application
DOTaskly is a modern task management application built with Symfony and React. It provides an intuitive interface for managing tasks through different states and organizing them in task lists.
## Features
### Task Lists
- Create and manage multiple task lists
- Each task list can contain multiple tasks
- Delete task lists when no longer needed
- Visual indication of selected task list
### Tasks
- Create tasks with title, description, progress, and due date
- Tasks are organized in three status columns:
- Open: New tasks ready to be started
- In Progress: Tasks currently being worked on
- Done: Completed tasks
- Task Status Management:
- Move tasks from "Open" to "In Progress" using the "Start" button
- Move tasks from "In Progress" to "Done" using the "Done" button
- Stop tasks and move them back to "Open" using the "Stop" button
- Reopen completed tasks using the "Reopen" button
- Visual status indicators with color-coded borders:
- Blue for Open tasks
- Yellow for In Progress tasks
- Green for Done tasks
- Track task progress percentage
- Set and display task due dates
- Delete tasks when they're no longer needed
## Technical Stack
### Backend
- Symfony 6.x
- PHP 8.x
- API Platform for GraphQL API
- Doctrine ORM for database management
### Frontend
- React
- Apollo Client for GraphQL integration
- Tailwind CSS for styling
- React Hooks for state management
## Setup
1. Clone the repository:
```bash
git clone [repository-url]
cd todolist
```
2. Install PHP dependencies:
```bash
composer install
```
3. Install JavaScript dependencies:
```bash
yarn install
```
4. Set up the database:
```bash
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
```
5. Build the frontend assets:
```bash
yarn build
```
6. Start the Symfony development server:
```bash
symfony server:start
```
## Development
### Frontend Development
The React application is located in the `assets/react` directory. Main components:
- `Dashboard.jsx`: Main application layout and task list management
- `Task.jsx`: Task display and status management
- `TaskForm.jsx`: Task creation form
- `TaskList.jsx`: Task list display and management
### Backend Development
The application uses API Platform with GraphQL. Main entities:
- `Task`: Represents a single task with properties like title, description, status, etc.
- `TaskList`: Represents a collection of tasks
- `User`: Handles user management and task ownership
### GraphQL Operations
The application supports the following GraphQL operations:
- Queries:
- Get task lists
- Get tasks for a specific list
- Mutations:
- Create task list
- Create task
- Update task status
- Delete task
- Delete task list
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.