├── config ├── __init__.py ├── custom_storages.py ├── wsgi.py ├── urls.py └── settings.py ├── core ├── __init__.py ├── views.py ├── migrations │ └── __init__.py ├── admin.py ├── tests.py ├── apps.py ├── urls.py ├── models.py └── managers.py ├── lists ├── __init__.py ├── management │ ├── __init__.py │ └── commands │ │ ├── __init__.py │ │ └── seed_list.py ├── migrations │ ├── __init__.py │ ├── 0003_auto_20191119_2016.py │ ├── 0004_auto_20191218_2035.py │ ├── 0002_auto_20190924_1800.py │ └── 0001_initial.py ├── templatetags │ ├── __init__.py │ └── on_favs.py ├── tests.py ├── apps.py ├── urls.py ├── admin.py ├── models.py └── views.py ├── rooms ├── __init__.py ├── management │ ├── __init__.py │ └── commands │ │ ├── __init__.py │ │ ├── seed_facilities.py │ │ ├── seed_amenities.py │ │ └── seed_rooms.py ├── migrations │ ├── __init__.py │ ├── 0008_auto_20190925_1555.py │ ├── 0009_auto_20191029_1509.py │ ├── 0007_auto_20190924_1806.py │ ├── 0005_auto_20190924_1739.py │ ├── 0002_auto_20190923_1819.py │ ├── 0006_auto_20190924_1800.py │ ├── 0001_initial.py │ ├── 0004_auto_20190924_1457.py │ └── 0003_auto_20190924_1436.py ├── templatetags │ ├── __init__.py │ ├── sexy_capitals.py │ └── is_booked.py ├── tests.py ├── apps.py ├── urls.py ├── forms.py ├── admin.py ├── models.py └── views.py ├── users ├── __init__.py ├── management │ ├── __init__.py │ └── commands │ │ ├── __init__.py │ │ ├── seed_avatars.py │ │ ├── createsu.py │ │ └── seed_users.py ├── migrations │ ├── __init__.py │ ├── 0002_auto_20190925_1555.py │ ├── 0005_user_login_method.py │ ├── 0006_auto_20191119_1723.py │ ├── 0004_auto_20191029_1523.py │ ├── 0008_auto_20191218_2035.py │ ├── 0003_auto_20191029_1509.py │ ├── 0007_auto_20191119_2016.py │ └── 0001_initial.py ├── tests.py ├── apps.py ├── mixins.py ├── urls.py ├── admin.py ├── forms.py ├── models.py └── views.py ├── reviews ├── __init__.py ├── management │ ├── __init__.py │ └── commands │ │ ├── __init__.py │ │ └── seed_reviews.py ├── migrations │ ├── __init__.py │ ├── 0002_auto_20190924_1800.py │ ├── 0001_initial.py │ └── 0003_auto_20191119_1723.py ├── tests.py ├── apps.py ├── urls.py ├── admin.py ├── views.py ├── forms.py └── models.py ├── .prettierignore ├── conversations ├── __init__.py ├── migrations │ ├── __init__.py │ ├── 0002_auto_20190924_1800.py │ └── 0001_initial.py ├── tests.py ├── apps.py ├── forms.py ├── urls.py ├── admin.py ├── models.py └── views.py ├── reservations ├── __init__.py ├── management │ ├── __init__.py │ └── commands │ │ ├── __init__.py │ │ └── seed_reservations.py ├── migrations │ ├── __init__.py │ ├── 0002_auto_20190924_1800.py │ ├── 0003_bookedday.py │ └── 0001_initial.py ├── tests.py ├── apps.py ├── urls.py ├── admin.py ├── models.py └── views.py ├── photos_seed.zip ├── README.md ├── static └── img │ ├── bg.jpeg │ └── logo.png ├── .ebextensions ├── 01-packages.config └── 02-django.config ├── templates ├── emails │ └── verify_email.html ├── 404.html ├── mixins │ ├── auth │ │ ├── form_input.html │ │ └── auth_form.html │ ├── room │ │ ├── room_input.html │ │ └── room_form.html │ ├── user_avatar.html │ └── room_card.html ├── partials │ ├── messages.html │ ├── social_login.html │ ├── footer.html │ └── nav.html ├── rooms │ ├── photo_edit.html │ ├── room_create.html │ ├── photo_create.html │ ├── search.html │ ├── room_edit.html │ ├── room_photos.html │ ├── room_list.html │ └── room_detail.html ├── users │ ├── update-password.html │ ├── signup.html │ ├── update-profile.html │ ├── login.html │ └── user_detail.html ├── lists │ └── list_detail.html ├── base.html ├── conversations │ └── conversation_detail.html └── reservations │ └── detail.html ├── .vscode └── settings.json ├── tailwind.config.js ├── Pipfile ├── gulpfile.js ├── package.json ├── manage.py ├── requirements-dev.txt ├── requirements.txt ├── cal.py ├── assets └── scss │ └── styles.scss ├── .gitignore ├── locale └── es │ └── LC_MESSAGES │ └── django.po └── Pipfile.lock /config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/views.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lists/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rooms/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /users/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reviews/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | /templates -------------------------------------------------------------------------------- /conversations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lists/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lists/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reservations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rooms/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rooms/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /users/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /users/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lists/templatetags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reviews/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reviews/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rooms/templatetags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /conversations/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lists/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reservations/management/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reservations/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rooms/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /users/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reviews/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reservations/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /core/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /lists/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /reviews/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /rooms/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /users/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /photos_seed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomadcoders/airbnb-clone/HEAD/photos_seed.zip -------------------------------------------------------------------------------- /reservations/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Airbnb Clone 2 | 3 | Cloning Airbnb with Python, Django, Tailwind and more... 🇰🇷💖🐍 -------------------------------------------------------------------------------- /conversations/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /static/img/bg.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomadcoders/airbnb-clone/HEAD/static/img/bg.jpeg -------------------------------------------------------------------------------- /static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomadcoders/airbnb-clone/HEAD/static/img/logo.png -------------------------------------------------------------------------------- /.ebextensions/01-packages.config: -------------------------------------------------------------------------------- 1 | packages: 2 | yum: 3 | postgresql96-devel: [] 4 | gettext-devel: [] -------------------------------------------------------------------------------- /core/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class CoreConfig(AppConfig): 5 | name = 'core' 6 | -------------------------------------------------------------------------------- /lists/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class ListsConfig(AppConfig): 5 | name = 'lists' 6 | -------------------------------------------------------------------------------- /rooms/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class RoomsConfig(AppConfig): 5 | name = 'rooms' 6 | -------------------------------------------------------------------------------- /users/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class UsersConfig(AppConfig): 5 | name = 'users' 6 | -------------------------------------------------------------------------------- /reviews/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class ReviewsConfig(AppConfig): 5 | name = 'reviews' 6 | -------------------------------------------------------------------------------- /conversations/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class ConversationsConfig(AppConfig): 5 | name = 'conversations' 6 | -------------------------------------------------------------------------------- /reservations/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class ReservationsConfig(AppConfig): 5 | name = 'reservations' 6 | -------------------------------------------------------------------------------- /templates/emails/verify_email.html: -------------------------------------------------------------------------------- 1 |
18 |
19 | 46 | {{room.description}} 47 |
48 |{{review.review}}
92 |