https://github.com/tbhaxor/taskify
A tutorial todo application using laravel framework.
https://github.com/tbhaxor/taskify
hacktoberfest inertiajs laravel phpunit render todolist tutorial vite
Last synced: 3 months ago
JSON representation
A tutorial todo application using laravel framework.
- Host: GitHub
- URL: https://github.com/tbhaxor/taskify
- Owner: tbhaxor
- License: mit
- Created: 2024-05-11T20:57:51.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-01-25T15:14:16.000Z (3 months ago)
- Last Synced: 2025-01-25T16:19:57.997Z (3 months ago)
- Topics: hacktoberfest, inertiajs, laravel, phpunit, render, todolist, tutorial, vite
- Language: PHP
- Homepage: https://taskify.tbhaxor.com/
- Size: 768 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Taskify
Taskify is a simple yet powerful To-Do application built with Laravel. It allows users to manage their tasks by creating
task groups, adding tasks, and collaborating with others. With role-based access control (RBAC) and email notifications,
Taskify provides a robust solution for individual and team productivity.## Screenshots



## Features
### 1. Task Groups
- **Create Task Groups:** Organise your tasks by grouping them into categories or projects.
- **Manage Tasks:** Add, edit, or delete tasks within each group to keep track of your progress.### 2. Role-Based Access Control (RBAC)
- **User Roles:** Assign specific roles to users within a task group, such as Admin, Editor, or Viewer.
- **Custom Permissions:** Control who can create, edit, or delete tasks, and manage the group settings.### 3. Collaboration
- **Invite Users:** Collaborate with others by inviting them to join your task group.
- **Role Management:** Change user roles at any time to adjust their permissions.
- **Notifications:** Users receive email notifications when invited to a task group, or when their role changes.## Installation
To get started with Taskify, follow the instructions below.
### Prerequisites
- PHP 8.3
- Composer
- MySQL or any other supported database
- Laravel 11.x### Steps
1. **Clone the Repository**
```bash
git clone https://github.com/tbhaxor/Taskify.git
cd Taskify
```2. **Install Dependencies**
```bash
composer install
npm install
npm run dev
```3. **Set Up Environment**
- Duplicate the `.env.example` file and rename it to `.env`.
- Update the `.env` file with your database and mail server settings.
- For authentication, we are using zitadel. Please check [this link](https://socialiteproviders.com/Zitadel/) to
configure it.4. **Generate Application Key**
```bash
php artisan key:generate
```5. **Run Migrations**
```bash
php artisan migrate
```6. **Start the Development Server**
```bash
php artisan serve
```## Usage
Once installed, you can start using Taskify by accessing it in your web browser.
### Creating a Task Group
1. Navigate to the "Task Groups" section.
2. Click on "Create New Group" and provide a name for your group.
3. Once created, you can start adding tasks to your group.### Managing Tasks
- **Add Task:** Within a task group, click on "Add New Task" to create a task.
- **Edit Task:** Click on a task to edit its details.
- **Delete Task:** Remove a task by clicking the delete option next to it.
- **Update Task** Click on the edit task button to update its title, status and description of it.> ![NOTE]
>
> If the status is set to completed, you can't change it to in-progress or any other status. Instead, you should create
> a new task.### Inviting Users
1. Go to the task group where you want to add collaborators.
2. Click on "Show User Invite" and enter their email address.
3. Assign them a role (Admin, Editor, Viewer) and send the invitation.
4. The user will receive an email invitation to join the group.### Changing User Roles
1. In the task group, go to the "Show Group Sharing" section.
2. Click on the user's current role and select a new role from the dropdown.## Contributing
Contributions are welcome! To contribute:
1. Fork the repository.
2. Create a new branch (`git checkout -b your branch`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature-branch`).
6. Create a pull request.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For any questions or suggestions, feel free to open an issue or contact the repository owner at [your email address].
---
**Happy Tasking! 🖖**