โง '๋ฉ๋ฉํ์ ๋ผ๋ผ๋ฒจ๋ก ์๋ก ๋ง๋ค๊ธฐ' ํ๋ก์ ํธ ๋ชฉ์ฐจ โง (๋ณด์๋ ค๋ฉด ์๋ ๋๋ณด๊ธฐ ๋ฅผ ๋๋ฌ์ฃผ์ธ์.)
0. ๋ผ๋ผ๋ฒจ(laravel) ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ-๋ฐฉ๋ฒ2 (Windows & ๋์ปค(docker) & sail ํ์ฉ)
2. ๊ธฐ์กด ์์ค๋ฅผ ํ๋์ ๋ธ๋ ์ด๋๋ก
5. ๊ธฐ์กด PHP ๋ก์ง์ ์ปจํธ๋กค๋ฌ๋ก
6. ๋ธ๋ ์ด๋ ๋ฌธ๋ฒ์ผ๋ก ์์
7. ์ธ๋ถ ๋ธ๋ ์ด๋ ํ์ผ, component ํ์ฉ
8. (DB) Model ๋ฐ ๊ธฐํ ํ์ผ ์์ฑ
9. (DB) ๋๋ฏธ๋ฐ์ดํฐ๋ฅผ ํ๊ธ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ
10. (DB) ๋ชจ๋ธ, DB ํ์ฉ ์ฐ์ต
11. (DB) ๊ธฐ์กด ๋ฐ์ดํฐ ๋ฐฐ์ด์ DB๋ก ๋ณํ
12. (DB) DB ๋ฐ ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ๊ตฌํ
13. ๋ก๊ทธ์ธ ๊ตฌํ์ ์ํ ์คํํฐํคํธ Breeze ์ค์น ๋ฐ ๋ก๊ทธ์ธ ์์
14. ๋ก๊ทธ์ธ ์ฐฝ ๋ท๋ฐฐ๊ฒฝ๋ ๋์์์ด ๋ณด์ด๋๋ก ์์
15. ๊ด๋ฆฌ์ ํ๋ฉด์์ ์ ์ฒด ๊ฒ์๊ธ ๋ฆฌ์คํธ ํ๋ฒ์ ๋ณด๊ธฐ
16. ๊ด๋ฆฌ์ ํ๋ฉด์์ ๊ฒ์๊ธ ์์ ํ๊ธฐ
17. ๊ด๋ฆฌ์ ํ๋ฉด์์ ๊ฒ์๊ธ ์ญ์ ํ๊ธฐ
์์ ์์ ์ ๋ชจ๋ ์์ฑํ ํ ๋๋ค์ ๋ง๋ค๊ณ ์ถ์ ๊ฒ์ด ์๊ฒผ๋ค.
์๊ธ ์์ฑ์ ์นํ์ด์ง์์ ์ง์ ์ ๋ ฅ ํ ์ ์ฅ์ ํ๋ฉด DB์ ์ ์ฅํ๋๋ก ํ๋ ๊ธฐ๋ฅ.
๋ฌผ๋ก ์ด ๊ธฐ๋ฅ์ ์ํด์๋ ์ฐ์ ๊ด๋ฆฌ์๋ก๋ง ๊ธ์ ์์ฑํด์ผ ํ๋ฉฐ, ์ด๋ฅผ ์ํด์๋ ๋ก๊ทธ์ธ์ด ํ์ํ ๊ฒ์ด๊ณ , ์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์ง์ ์์ค๋ฅผ ์์ฑํ ์๋ ์์ง๋ง, ๊ฐ๋จํ ์คํํฐํคํธ๋ก Breeze ๊ฐ ์ ๊ณต๋๋คํ์ฌ ๊ณต๋ถํ ๊ฒธ ์๋๋ฅผ ํด๋ณด๊ธฐ๋ก ํ๋ค.
0. ์ฃผ์ ์ฌํญ
๊ฐ. ์ฒ์์ ํ์์๋ welcome.blade.php ํ์ผ์ ์ง์ ๋๋, ์ด๋ฒ์ Breeze๋ฅผ ์ค์นํ๋ ์ค welcome.blade.php ํ์ผ์ด ์๋ค๊ณ ์ค๋ฅ๊ฐ ๋จ๋ฉด์ ์ค์น๊ฐ ๋์ง๋ฅผ ์๋ค์. ๊ทธ๋์ ๋น ํ์ผ์ ๋ง๋ค์ด ๋ณด์์ต๋๋ค.
๋. ์ดํ ๋ฌธ์ ์์ด ์ค์น๋์๋ค ์๊ฐํ๊ณ , ์ดํด๋ณด๋ ์ด๋ฐ... web.php ํ์ผ์ ์๋ ๋ด์ฉ๋ค์ด ๋ชจ๋ ์ฌ๋ผ์ง๊ณ , ์๋ก์ด ๋ด์ฉ๋ค์ด ๋ค์ด๊ฐ ์๋ค์. ๊ธฐ์กด ๋ด์ฉ์ด ๋ณต์กํ ๊ฒ์ ์๋์๊ธฐ์ ๊ทธ๋ฅ ๋ค์ ์ถ๊ฐ ์ ๋ ฅํ์ต๋๋ค.
=> ๋ฐ๋ผ์, Breeze๋ฅผ ์ค์นํ์๋ ค๋ฉด, ์์ ์ฒ์์ ์์ ์ ํ์๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.
1. Breeze ์ค์น
composer require laravel/breeze --dev --ignore-platform-req=ext-fileinfo
php artisan breeze:install
2. Log in, Register ์์ค ํ์ฉ
๊ฐ. ์ฒซ ํ๋ฉด์ ์๋์ ๊ฐ์ด Log in, Register ์ด ๋ณด์ด๋ฉด ์ ์ ์ค์น ์๋ฃ
๋. ์ Log in, Register ๋ถ๋ถ์ ์์ค ๋ณต์ฌ
@if (Route::has('login'))
<div class="hidden fixed top-0 right-0 px-6 py-4 sm:block">
@auth
<a href="{{ url('/home') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Home</a>
@else
<a href="{{ route('login') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Log in</a>
@if (Route::has('register'))
<a href="{{ route('register') }}" class="ml-4 text-sm text-gray-700 dark:text-gray-500 underline">Register</a>
@endif
@endauth
</div>
@endif
๋ค. ์ ๋ณต์ฌํ ์์ค๋ฅผ header.blade.php ์ ์ ๋นํ ์ฅ์์ ๋ถ์ฌ์ค๋๋ค. ์ฌ๊ธฐ์๋ ์๋์ ๊ฐ์ด ์์ ํ์ฌ ๋ฃ์์ต๋๋ค.
- ์ ํ๋์ ๋ถ๋ถ์ด ๋ก๊ทธ์ธ์ ์ํ ๋ถ๋ถ์ ์์ ํด์ ๋ฃ์ด์ค ๋ถ๋ถ์.
- Register ๋ถ๋ถ์ ๊ฐ์
์ ๋ฐ์ง ์๊ธฐ ๋๋ฌธ์ ์ญ์ ํจ.
- ์ ๋นจ๊ฐ์ ๋ถ๋ถ์ ์ถํ ๊ตฌํํ๊ธฐ ์ํด ๋จ๊ฒจ๋ ๋ถ๋ถ์.
<div style="left: 0px;width:100%;">
<table border=0 width=100% cellspacing=0 cellpadding=0>
<tr>
<td class='p_title'>
๐พ์ ๋ฉ๋ฉ์ค์ ์ทจ๋ฏธ์ํ<br>
</td>
<td align=center valign=bottom class='p_title1'>
<font size=3 color=white>
์ค๋:11, ์ด์ :22, ์ ์ฒด:33 (since 2003)
</font>
</td>
<td valign=bottom class='p_title1'>
@if (Route::has('login'))
<div class="hidden top-0 right-0 px-6 py-0 sm:block">
@auth
<a href="{{ url('/dashboard') }}" class="text-sm text-gray-700 dark:text-gray-500 ">๐พ</a>
@else
<a href="{{ route('login') }}" class="text-sm text-gray-700 dark:text-gray-500 ">๐พ</a>
@endauth
</div>
@endif
</td>
<td align=right valign=bottom class='p_title1'>
<a href='https://mungssem.kr/photo/port/port.php' target=_Blank>์ถ์ต์ ์ทจ๋ฏธ ์ํ์ง
๋ณด๊ธฐ</a> <br>
</td>
<td align=right valign=bottom class='p_title1'>
<a href='https://mungkhs2.cafe24.com/rb/?r=home' target=_Blank>์๋ ๋ฉ๋ฉํ ๋ฐฉ๋ฌธ</a> <br>
</td>
</tr>
</table>
</div>
3. tailwind.css
๊ฐ. ์ ๋ก๊ทธ์ธ ์ฝ๋ ์ค class ๋ถ๋ถ์ ๋ณด์ด๋ ์ฝ๋๋ค์ tailwind.css๋ฅผ ์ด์ฉํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ์ ๋๋ก ํ์ฉํ๋ ค๋ฉด index.blade.php ์ ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์ถ๊ฐ์์ผ ์ฃผ์ด์ผ ํฉ๋๋ค.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>๐พ์ ๋ฉ๋ฉ์ค ํ</title>
<link href="/css/app.css" rel="stylesheet">
//์๋ซ์ค ์ถ๊ฐ
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
<script src='http://code.jquery.com/jquery-latest.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery.mb.YTPlayer/3.3.9/jquery.mb.YTPlayer.min.js'></script>
<script src="/js/app.js"></script>
</head>
๋. ํน์ ์ tailwind.css ์ฌ์ฉ์ ์ด๋ฏธ์ง์ ๊ธ์จ๊ฐ ๊ฐ์ ์ค์ ๋์ค์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ด๋๋ ์๋์ฒ๋ผ ์ฝ๋๋ฅผ ์์ ํด ์ฃผ์ด์ผ ํฉ๋๋ค.
<img src='/images/ball.gif'>
์ ์ด๋ฏธ์ง ํ
๊ทธ์ ์๋์ ๊ฐ์ด class='inline' ๋ฅผ ๋ถ์ฌ์ค.
<img src='/images/ball.gif' class='inline'>
4. ๊ด๋ฆฌ์ ์์ฑ
๊ฐ. ์ Register์์ ์ ๋ณด ์ ๋ ฅ ํ ๊ด๋ฆฌ์๋ฅผ ํ๋ช ์์ฑํฉ๋๋ค.
๋. ์ดํ ๋ค๋ฅธ ํ์ ๊ฐ์ ์ด ํ์์์ ๊ฒฝ์ฐ ์ 'Register' ๋ถ๋ถ ๋ฐ 'Forgot your password?' ๋ถ๋ถ ๋ฑ์ ์ญ์ ํด์ค.
๐บ๐บ ์์ ํ ๋ชจ๋ ์์ค๋ ์๋ ๋งํฌ์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๐บ๐บ
https://github.com/mmssem/munghome
GitHub - mmssem/munghome
Contribute to mmssem/munghome development by creating an account on GitHub.
github.com