A collaborative task management application built with Laravel (API Backend) and React (Frontend). The application allows users to create, manage, and share task lists with granular permission controls.
-
Task List Management
- Create multiple task lists to organize your tasks
- Add, edit, and delete tasks within lists
- Mark tasks as complete/incomplete
-
Collaboration
- Share task lists with other users
- Granular permission control (Viewer/Editor)
-
User Interface
- Modern and responsive design using Tailwind CSS
- Polished UI components from shadcn/ui
- Intuitive task management interface
- Laravel (PHP Framework)
- Postgres SQL Database
- RESTful API Architecture
- Docker containerization
- React.js
- Tailwind CSS
- shadcn/ui components
- Docker containerization
- Docker and Docker Compose installed on your system
- Git for version control
- A text editor of your choice
git clone https://github.com/geekyganguly/todoist
cd todoist
Both the backend and frontend directories contain example environment files that need to be copied and configured.
# Navigate to backend directory
cd backend
# Copy the example environment file
cp .env.example .env
# Return to project root
cd ..
The backend .env
file should contain:
APP_NAME=todoist
APP_ENV=local
APP_KEY=base64:j4GuxOtN4GKjNQrMEMyR/cf9zNMx5a7kb/e2bHHF5Ho=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost:8000
APP_FRONTEND_URL=http://localhost:5173
APP_PORT=8000
DB_CONNECTION=pgsql
DB_HOST=database
DB_PORT=5432
DB_DATABASE=todoist
DB_USERNAME=laravel
DB_PASSWORD=password
# Navigate to frontend directory
cd frontend
# Copy the example environment file
cp .env.example .env
# Return to project root
cd ..
The frontend .env
file should contain:
VITE_PORT=5173
VITE_API_URL=http://localhost:8000/api
Start all services using Docker Compose:
docker compose -f docker-compose.local.yml --env-file ./backend/.env --env-file ./frontend/.env up --build
# or if yarn installed
yarn dev:start
Run database migrations:
docker compose -f docker-compose.local.yml --env-file ./backend/.env --env-file ./frontend/.env exec backend php artisan migrate
# or if yarn installed
yarn dev:migrate
- Frontend App: http://localhost:5173
- Backend API Base URL: http://localhost:8000/api
The API documentation is available here
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.