Source files for the Task Management System application built with Laravel and Next.js.
- Laravel backend with MySQL database
- Next.js frontend
- Authentication with Laravel Breeze
- Task management with CRUD operations
- Task filtering and sorting
- Task status updates
- Task assignment to users
- Laravel 10.x (with Breeze, Sail, and Sanctum)
- Next.js
- MySQL
- Shadcn UI (Tailwind CSS)
- Docker (optional)
client
- Contains the Next.js frontend applicationserver
- Contains the Laravel backend application
To get started with the application, you need to set up the Laravel backend and Next.js frontend.
- PHP (Version 8.1.x)
- MySQL (Version 8.x)
- Composer
- Node.js ^18.x and npm
- Clone the repository:
git clone https://github.com/ayequill/task-management-sys.git
- Navigate to the Laravel directory:
cd task-management-sys/server
- Install PHP dependencies using Composer:
composer install
- Create a
.env
file by duplicating.env.example
and updating the relevant configurations like database connection, frontend URL, etc.
cp .env.example .env
Update the following configurations in the .env
file:
DB_CONNECTION=mysql
DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
- Generate application key:
php artisan key:generate
- Run database migrations if everything is set up correctly:
php artisan migrate
- Seed the database (if needed):
php artisan db:seed
- Start the Laravel development server:
php artisan serve
- Make sure you have Docker installed on your machine. Run the following command to install Sail's dependencies:
./vendor/bin/sail install
- Start the Sail containers:
./vendor/bin/sail up -d
Sail uses default services like MySQL, Redis etc. You can customize the services by updating the docker-compose.yml
file. Unless it will use the default ports.
- Access the application in your browser using
http://localhost
.
- Navigate to the Next.js directory:
cd ../client
- Install Node.js dependencies:
npm install
- Start the Next.js development server:
npm run dev
- Access the Next.js app in your browser using
http://localhost:3000
.
- Install pm2 globally:
npm install pm2 -g
- Run both the Laravel and Next.js app using pm2:
pm2 start ecosystem.config.js
- You check the status of the running apps using:
pm2 status
That's it! You have successfully installed and set up the Laravel and Next.js application with authentication using Breeze.