This repository contains the code for a full-stack application with separate frontend and backend projects. The frontend is built using Next.js 15, and the backend uses Laravel 11. This document explains how to set up the project, the development workflow, and the commit conventions.
Before working on this repository, make sure you have the following installed:
This repository is organized as follows:
Navigate to the backend folder:
cd backend
Install dependencies:
composer install
Create a .env file:
cp .env.example .env
php artisan key:generate
Configure the Database:
.env
file to match your database configuration.php artisan migrate
Run the application:
php artisan serve
Navigate to the frontend folder:
cd frontend
Install dependencies:
npm install
Set up environment variables: Create a .env.local file with environment variables, for example:
NEXT_PUBLIC_API_URL=http://localhost:8000/api
Start the development server:
npm run dev
We use the following branching strategy:
Feature branches should branch off from dev-frontend or dev-backend and be merged into dev after review.
Create an Issue for each task or feature:
Create a Branch:
git checkout -b feature/<issue-title>
Commit Changes following the Conventional Commits specification:
git add .
git commit -m "feat: <description>"
Push to GitHub:
git push origin feature/<issue-title>
Create a Pull Request: Create a Pull Request to merge into dev-frontend or dev-backend, then into dev after approval.
feat: New feature (e.g., feat: add login functionality)
fix: Bug fix (e.g., fix: resolve login bug)
refactor: Code changes not adding features or fixing bugs (e.g., refactor: improve readability)
docs: Documentation updates (e.g., docs: update README setup instructions)
style: Code style changes (e.g., style: format code)
chore: Maintenance tasks (e.g., chore: update dependencies)
- For main, dev, dev-frontend, and dev-backend branches:
- Require pull requests for merging.
- Require at least 2 code reviews
- Require all checks to pass before merging.