https://github.com/ayequill/task-management-sys
A task management system built with Laravel and NextJs
https://github.com/ayequill/task-management-sys
breeze laravel nextjs react typescript
Last synced: 19 days ago
JSON representation
A task management system built with Laravel and NextJs
- Host: GitHub
- URL: https://github.com/ayequill/task-management-sys
- Owner: ayequill
- License: agpl-3.0
- Created: 2024-03-05T21:27:41.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-13T16:30:17.000Z (about 1 year ago)
- Last Synced: 2024-05-20T10:32:08.406Z (11 months ago)
- Topics: breeze, laravel, nextjs, react, typescript
- Language: TypeScript
- Homepage:
- Size: 410 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Task Management System
Source files for the Task Management System application built with Laravel and Next.js.
## Features
- 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## Technologies
- Laravel 10.x (with Breeze, Sail, and Sanctum)
- Next.js
- MySQL
- Shadcn UI (Tailwind CSS)
- Docker (optional)## Folder Structure
- `client` - Contains the Next.js frontend application
- `server` - Contains the Laravel backend application## Getting Started
To get started with the application, you need to set up the Laravel backend and Next.js frontend.
## Installation and Running the App
### Prerequisites
- PHP (Version 8.1.x)
- MySQL (Version 8.x)
- Composer
- Node.js ^18.x and npm### Setting Up Laravel Backend
1. Clone the repository:
```bash
git clone https://github.com/ayequill/task-management-sys.git
```2. Navigate to the Laravel directory:
```bash
cd task-management-sys/server
```3. Install PHP dependencies using Composer:
```bash
composer install
```4. Create a `.env` file by duplicating `.env.example` and updating the relevant configurations like database connection, frontend URL, etc.
```bash
cp .env.example .env
```Update the following configurations in the `.env` file:
```env
DB_CONNECTION=mysql
DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
```5. Generate application key:
```bash
php artisan key:generate
```6. Run database migrations if everything is set up correctly:
```bash
php artisan migrate
```7. Seed the database (if needed):
```bash
php artisan db:seed
```8. Start the Laravel development server:
```bash
php artisan serve
```### Running the App using Sail
1. Make sure you have Docker installed on your machine. Run the following command to install Sail's dependencies:
```bash
./vendor/bin/sail install
```2. Start the Sail containers:
```bash
./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.
3. Access the application in your browser using `http://localhost`.
### Setting Up Next.js Frontend
1. Navigate to the Next.js directory:
```bash
cd ../client
```2. Install Node.js dependencies:
```bash
npm install
```### Running the Next.js App
1. Start the Next.js development server:
```bash
npm run dev
```2. Access the Next.js app in your browser using `http://localhost:3000`.
### If all dependencies are installed, you can simply use pm2 to run the app.
1. Install pm2 globally:
```bash
npm install pm2 -g
```2. Run both the Laravel and Next.js app using pm2:
```bash
pm2 start ecosystem.config.js
```3. You check the status of the running apps using:
```bash
pm2 status
```That's it! You have successfully installed and set up the Laravel and Next.js application with authentication using Breeze.