Laravel 배우려면 뭘 만들어야 할까요? 복잡한 서비스 말고, 딱 3시간 안에 완성 가능한 프로젝트로 시작해보세요.
Laravel을 처음 배우기 시작할 때 가장 막막한 순간이 “무엇부터 만들어볼까?”라는 질문이었어요. 문서는 훌륭하지만, 막상 손에 뭘 쥐고 직접 만드는 건 전혀 다른 이야기잖아요. 저도 예전에 삽질을 엄청 했거든요. 그래서 오늘은 딱 3시간 만에 완성할 수 있는 실전용 기초 프로젝트를 하나 소개하려고 해요. 복잡한 기능이나 디자인은 빼고, Laravel의 핵심 흐름(라우팅, 컨트롤러, 모델, CRUD, 뷰 등)을 빠르게 체험해볼 수 있도록 구성했습니다. 처음 Laravel을 접하는 분들, 그리고 다시 기본을 복습하고 싶은 분들 모두에게 딱 맞는 튜토리얼이 될 거예요!
목차
프로젝트 개요: 메모 앱 만들기
오늘 만들 프로젝트는 아주 단순한 "메모 애플리케이션"입니다. 로그인이나 회원가입 없이 누구나 접속해서 메모를 등록, 수정, 삭제할 수 있는 형태예요. 이 프로젝트를 통해 Laravel의 기본 구조를 모두 체험할 수 있어요.
구현할 주요 기능은 다음과 같습니다:
- 메모 목록 조회
- 새 메모 등록
- 메모 내용 수정
- 메모 삭제
개발 환경 구성과 Laravel 설치
Laravel을 설치하려면 먼저 PHP, Composer, MySQL 혹은 SQLite가 설치돼 있어야 합니다. 윈도우 유저는 Laragon, 맥 유저는 Valet 또는 Docker를 추천드려요. 여기서는 가장 기본적인 Composer 방식으로 설치합니다.
항목 | 명령어 / 설명 |
---|---|
프로젝트 생성 | composer create-project laravel/laravel memo-app |
서버 실행 | php artisan serve → http://localhost:8000 에서 확인 |
데이터베이스 연결 | .env 파일에서 DB 설정 수정 |
모델-컨트롤러-뷰로 CRUD 구현하기
Laravel의 강력한 구조를 체험하기 위해 가장 먼저 Memo
모델을 생성해봅니다. Artisan CLI를 활용하면 관련 파일을 한 번에 만들 수 있어요.
-
php artisan make:model Memo -mcr
→ 모델, 마이그레이션, 컨트롤러, 리소스 뷰 자동 생성 - 마이그레이션 파일에서
title
과content
컬럼 추가 후php artisan migrate
- 웹 라우팅 (
routes/web.php
)에Route::resource('memos', MemoController::class);
추가
이제 /memos
URL에 접속하면 CRUD 흐름 전체를 확인할 수 있게 됩니다. 간단하지만 실무 구조와 동일한 경험이 가능해요.
폼 유효성 검사와 사용자 경험 개선
사용자가 메모를 작성할 때 빈칸으로 제출하는 걸 막아야겠죠? Laravel의 validate()
메서드를 활용하면 손쉽게 폼 유효성 검사가 가능합니다. 오류 메시지도 자동으로 처리되기 때문에 사용자 경험도 향상돼요.
컨트롤러의 store()
또는 update()
메서드 안에 아래처럼 추가하세요:
$request->validate([
'title' => 'required|max:100',
'content' => 'required'
]);
그리고 Blade 템플릿에 오류 메시지를 아래처럼 표시하면 사용자에게 어떤 항목이 잘못됐는지 알려줄 수 있습니다:
@error('title')
<div class="text-red-600">{{ $message }}</div>
@enderror
Blade와 Tailwind로 간단한 UI 구성
Laravel의 Blade 템플릿 엔진은 HTML 안에 PHP를 깔끔하게 삽입할 수 있는 도구입니다. 여기에 Tailwind CSS를 함께 사용하면 별도의 CSS 작성 없이도 세련된 UI를 빠르게 구성할 수 있어요. Laravel 9 이상 버전은 기본적으로 Vite와 Tailwind를 포함하고 있습니다.
UI 구성 요소 | 사용 예시 |
---|---|
입력창 | <input type="text" class="border rounded p-2 w-full"> |
버튼 | <button class="bg-purple-600 text-white px-4 py-2 rounded"> |
메시지 박스 | <div class="bg-green-100 text-green-700 p-3 rounded"> |
3시간 이후: 다음 단계로 나아가기
3시간 만에 만든 이 메모 앱은 Laravel을 이해하는 훌륭한 입문 단계예요. 이제 다음 단계로 나아가고 싶다면 다음 기능을 추가해보세요.
- 인증 시스템 추가 (Laravel Breeze)
- 검색 기능 구현
- 카테고리별 필터링
- Vue 또는 React로 프론트엔드 컴포넌트 구성
- Laravel API와 Vue SPA 분리 아키텍처 적용
이 작은 프로젝트가 여러분의 Laravel 여정에 첫걸음이 되길 바랍니다.
PHP 버전, Composer 버전, 확장 모듈 설치 여부 등 환경 의존성 체크가 매우 중요합니다.
파일 생성 시 make
시리즈, DB 마이그레이션 migrate
, 서버 실행 serve
가 가장 자주 사용됩니다.
꼭은 아니지만, Laravel에 최적화되어 있어 효율적인 레이아웃 상속과 컴포넌트 사용이 가능해 추천드립니다.
라우팅, 컨트롤러, 모델, 마이그레이션은 Laravel의 기본 뼈대이므로 반드시 먼저 익혀야 합니다.
인증, API, 복잡한 스타일링은 생략하고 핵심 CRUD 흐름에 집중하면 충분히 3시간 내에 끝낼 수 있습니다.
Laravel은 입문자에게 결코 쉬운 프레임워크는 아닐 수 있지만, 한 번 흐름을 파악하면 정말 매력적인 구조라는 걸 알게 됩니다. 이번 메모 앱 프로젝트는 그 첫걸음을 안전하게 밟을 수 있도록 설계된 예제예요. 단 3시간이면 충분히 ‘Laravel로 웹 앱을 만들 수 있다’는 자신감을 얻을 수 있습니다. 더 깊은 내용은 나중에 익혀도 괜찮아요. 중요한 건 시작이니까요. 지금 당장 VSCode를 열고, composer create-project
부터 시작해보세요. 손으로 직접 만드는 것만큼 강력한 학습은 없으니까요!
'💻 쇼핑몰 자동화 & 웹 개발 가이드' 카테고리의 다른 글
[쇼핑몰 개발] PHP + MySQL로 구축하는 실전 쇼핑몰 설계 전략 (4) | 2025.05.19 |
---|---|
[쇼핑몰 개발] 실전 시리즈 시작! Laravel + Vue + MySQL 기반 개발 안내 (2) | 2025.05.16 |
[쇼핑몰 개발] Laravel vs CodeIgniter: 어떤 프레임워크를 선택할까? (2) | 2025.05.14 |
[쇼핑몰 개발] Laravel 시작 전 꼭 알아야 할 PHP 기초 개념 (3) | 2025.05.13 |
[쇼핑몰 개발] 실무에서 자주 쓰이는 Laravel 핵심 기능 총정리 (3) | 2025.05.12 |