Showing
12 changed files
with
140 additions
and
61 deletions
LICENSE
0 → 100644
1 | +MIT License | ||
2 | + | ||
3 | +Copyright (c) 김대연, 서승완, 이우진, 홍준식 | ||
4 | + | ||
5 | +Permission is hereby granted, free of charge, to any person obtaining a copy | ||
6 | +of this software and associated documentation files (the "Software"), to deal | ||
7 | +in the Software without restriction, including without limitation the rights | ||
8 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
9 | +copies of the Software, and to permit persons to whom the Software is | ||
10 | +furnished to do so, subject to the following conditions: | ||
11 | + | ||
12 | +The above copyright notice and this permission notice shall be included in all | ||
13 | +copies or substantial portions of the Software. | ||
14 | + | ||
15 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
16 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
17 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
18 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
19 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
20 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
21 | +SOFTWARE. |
1 | -# KhuBox | 1 | +# KhuBox · [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python 3.6.5](https://img.shields.io/badge/python-3.6.5-blue.svg)](https://www.python.org/downloads/release/python-365/) [![Node 12.16.3](https://img.shields.io/badge/node-12.16.3-brightgreen.svg)](https://nodejs.org/dist/v12.16.3/) [![build status](http://khuhub.khu.ac.kr/2020-1-CloudComputing-E/E_Team_KhuBox/badges/master/build.svg)](http://khuhub.khu.ac.kr/2020-1-CloudComputing-E/E_Team_KhuBox/commits/master) |
2 | 2 | ||
3 | -경희대학교 클라우드컴퓨팅(CSE335) E조 | 3 | +2020년 1학기 경희대학교 클라우드컴퓨팅(CSE335) E조 |
4 | 4 | ||
5 | AWS를 활용한 Dropbox 개발 프로젝트 | 5 | AWS를 활용한 Dropbox 개발 프로젝트 |
6 | 6 | ||
... | @@ -13,3 +13,19 @@ AWS를 활용한 Dropbox 개발 프로젝트 | ... | @@ -13,3 +13,19 @@ AWS를 활용한 Dropbox 개발 프로젝트 |
13 | - 컴퓨터공학과 2016104147 이우진 | 13 | - 컴퓨터공학과 2016104147 이우진 |
14 | 14 | ||
15 | - 컴퓨터공학과 2018102249 홍준식 | 15 | - 컴퓨터공학과 2018102249 홍준식 |
16 | + | ||
17 | +## 기술 스택 | ||
18 | + | ||
19 | +1. Front-end : React | ||
20 | + | ||
21 | +2. Back-end : Django | ||
22 | + | ||
23 | +3. Database : MySQL | ||
24 | + | ||
25 | +4. DevOps : GitLab CI | ||
26 | + | ||
27 | +5. Infrastructure : AWS Lambda, Amazon API Gateway, Amazon CloudFront, Amazon RDS, Amazon S3 | ||
28 | + | ||
29 | +## 라이선스 | ||
30 | + | ||
31 | +[MIT License](LICENSE) | ... | ... |
khubox-api/config/asgi.py
deleted
100644 → 0
1 | -""" | ||
2 | -ASGI config for config project. | ||
3 | - | ||
4 | -It exposes the ASGI callable as a module-level variable named ``application``. | ||
5 | - | ||
6 | -For more information on this file, see | ||
7 | -https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ | ||
8 | -""" | ||
9 | - | ||
10 | -import os | ||
11 | - | ||
12 | -from django.core.asgi import get_asgi_application | ||
13 | - | ||
14 | -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') | ||
15 | - | ||
16 | -application = get_asgi_application() |
1 | """ | 1 | """ |
2 | Django settings for config project. | 2 | Django settings for config project. |
3 | 3 | ||
4 | -Generated by 'django-admin startproject' using Django 3.0.5. | 4 | +Generated by 'django-admin startproject' using Django 1.11.29. |
5 | 5 | ||
6 | For more information on this file, see | 6 | For more information on this file, see |
7 | -https://docs.djangoproject.com/en/3.0/topics/settings/ | 7 | +https://docs.djangoproject.com/en/1.11/topics/settings/ |
8 | 8 | ||
9 | For the full list of settings and their values, see | 9 | For the full list of settings and their values, see |
10 | -https://docs.djangoproject.com/en/3.0/ref/settings/ | 10 | +https://docs.djangoproject.com/en/1.11/ref/settings/ |
11 | """ | 11 | """ |
12 | 12 | ||
13 | import os | 13 | import os |
... | @@ -17,21 +17,20 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | ... | @@ -17,21 +17,20 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
17 | 17 | ||
18 | 18 | ||
19 | # Quick-start development settings - unsuitable for production | 19 | # Quick-start development settings - unsuitable for production |
20 | -# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ | 20 | +# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/ |
21 | 21 | ||
22 | # SECURITY WARNING: keep the secret key used in production secret! | 22 | # SECURITY WARNING: keep the secret key used in production secret! |
23 | -SECRET_KEY = '54%9+(m*y8^!3ndhohxko%fd*$z==)k=$5jwx55-v@$y_f7=co' | 23 | +SECRET_KEY = 'wfs076redt^-5_*dw6!_dqz*2z!a_#()33y@r_q7&+4r_40h9$' |
24 | 24 | ||
25 | # SECURITY WARNING: don't run with debug turned on in production! | 25 | # SECURITY WARNING: don't run with debug turned on in production! |
26 | DEBUG = True | 26 | DEBUG = True |
27 | 27 | ||
28 | -ALLOWED_HOSTS = [] | 28 | +ALLOWED_HOSTS = ['127.0.0.1', 'khubox-api.khunet.net'] |
29 | 29 | ||
30 | 30 | ||
31 | # Application definition | 31 | # Application definition |
32 | 32 | ||
33 | INSTALLED_APPS = [ | 33 | INSTALLED_APPS = [ |
34 | - 'khubox.apps.KhuboxConfig', | ||
35 | 'django.contrib.admin', | 34 | 'django.contrib.admin', |
36 | 'django.contrib.auth', | 35 | 'django.contrib.auth', |
37 | 'django.contrib.contenttypes', | 36 | 'django.contrib.contenttypes', |
... | @@ -72,22 +71,22 @@ WSGI_APPLICATION = 'config.wsgi.application' | ... | @@ -72,22 +71,22 @@ WSGI_APPLICATION = 'config.wsgi.application' |
72 | 71 | ||
73 | 72 | ||
74 | # Database | 73 | # Database |
75 | -# https://docs.djangoproject.com/en/3.0/ref/settings/#databases | 74 | +# https://docs.djangoproject.com/en/1.11/ref/settings/#databases |
76 | 75 | ||
77 | DATABASES = { | 76 | DATABASES = { |
78 | 'default': { | 77 | 'default': { |
79 | 'ENGINE': 'django.db.backends.mysql', | 78 | 'ENGINE': 'django.db.backends.mysql', |
80 | 'NAME': 'khubox', | 79 | 'NAME': 'khubox', |
81 | 'USER': 'khubox', | 80 | 'USER': 'khubox', |
82 | - 'PASSWORD': 'khubox', | 81 | + 'PASSWORD': '8f13dd391805db193227d3544b570b69', |
83 | - 'HOST': '127.0.0.1', | 82 | + 'HOST': 'khubox.cogff6stbbkv.ap-northeast-2.rds.amazonaws.com', |
84 | 'PORT': '3306', | 83 | 'PORT': '3306', |
85 | } | 84 | } |
86 | } | 85 | } |
87 | 86 | ||
88 | 87 | ||
89 | # Password validation | 88 | # Password validation |
90 | -# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators | 89 | +# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators |
91 | 90 | ||
92 | AUTH_PASSWORD_VALIDATORS = [ | 91 | AUTH_PASSWORD_VALIDATORS = [ |
93 | { | 92 | { |
... | @@ -106,7 +105,7 @@ AUTH_PASSWORD_VALIDATORS = [ | ... | @@ -106,7 +105,7 @@ AUTH_PASSWORD_VALIDATORS = [ |
106 | 105 | ||
107 | 106 | ||
108 | # Internationalization | 107 | # Internationalization |
109 | -# https://docs.djangoproject.com/en/3.0/topics/i18n/ | 108 | +# https://docs.djangoproject.com/en/1.11/topics/i18n/ |
110 | 109 | ||
111 | LANGUAGE_CODE = 'ko-kr' | 110 | LANGUAGE_CODE = 'ko-kr' |
112 | 111 | ||
... | @@ -120,6 +119,6 @@ USE_TZ = True | ... | @@ -120,6 +119,6 @@ USE_TZ = True |
120 | 119 | ||
121 | 120 | ||
122 | # Static files (CSS, JavaScript, Images) | 121 | # Static files (CSS, JavaScript, Images) |
123 | -# https://docs.djangoproject.com/en/3.0/howto/static-files/ | 122 | +# https://docs.djangoproject.com/en/1.11/howto/static-files/ |
124 | 123 | ||
125 | STATIC_URL = '/static/' | 124 | STATIC_URL = '/static/' | ... | ... |
1 | +"""config URL Configuration | ||
2 | + | ||
3 | +The `urlpatterns` list routes URLs to views. For more information please see: | ||
4 | + https://docs.djangoproject.com/en/1.11/topics/http/urls/ | ||
5 | +Examples: | ||
6 | +Function views | ||
7 | + 1. Add an import: from my_app import views | ||
8 | + 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') | ||
9 | +Class-based views | ||
10 | + 1. Add an import: from other_app.views import Home | ||
11 | + 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') | ||
12 | +Including another URLconf | ||
13 | + 1. Import the include() function: from django.conf.urls import url, include | ||
14 | + 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) | ||
15 | +""" | ||
16 | +from django.conf.urls import url | ||
1 | from django.contrib import admin | 17 | from django.contrib import admin |
2 | -from django.urls import include, path | ||
3 | 18 | ||
4 | urlpatterns = [ | 19 | urlpatterns = [ |
5 | - path('', include('khubox.urls')), | 20 | + url(r'^admin/', admin.site.urls), |
6 | - path('admin/', admin.site.urls), | ||
7 | ] | 21 | ] | ... | ... |
... | @@ -4,13 +4,13 @@ WSGI config for config project. | ... | @@ -4,13 +4,13 @@ WSGI config for config project. |
4 | It exposes the WSGI callable as a module-level variable named ``application``. | 4 | It exposes the WSGI callable as a module-level variable named ``application``. |
5 | 5 | ||
6 | For more information on this file, see | 6 | For more information on this file, see |
7 | -https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/ | 7 | +https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/ |
8 | """ | 8 | """ |
9 | 9 | ||
10 | import os | 10 | import os |
11 | 11 | ||
12 | from django.core.wsgi import get_wsgi_application | 12 | from django.core.wsgi import get_wsgi_application |
13 | 13 | ||
14 | -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') | 14 | +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings") |
15 | 15 | ||
16 | application = get_wsgi_application() | 16 | application = get_wsgi_application() | ... | ... |
khubox-api/khubox/urls.py
deleted
100644 → 0
1 | #!/usr/bin/env python | 1 | #!/usr/bin/env python |
2 | -"""Django's command-line utility for administrative tasks.""" | ||
3 | import os | 2 | import os |
4 | import sys | 3 | import sys |
5 | 4 | ||
6 | - | 5 | +if __name__ == "__main__": |
7 | -def main(): | 6 | + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings") |
8 | - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') | ||
9 | try: | 7 | try: |
10 | from django.core.management import execute_from_command_line | 8 | from django.core.management import execute_from_command_line |
11 | - except ImportError as exc: | 9 | + except ImportError: |
12 | - raise ImportError( | 10 | + # The above import may fail for some other reason. Ensure that the |
13 | - "Couldn't import Django. Are you sure it's installed and " | 11 | + # issue is really that Django is missing to avoid masking other |
14 | - "available on your PYTHONPATH environment variable? Did you " | 12 | + # exceptions on Python 2. |
15 | - "forget to activate a virtual environment?" | 13 | + try: |
16 | - ) from exc | 14 | + import django |
15 | + except ImportError: | ||
16 | + raise ImportError( | ||
17 | + "Couldn't import Django. Are you sure it's installed and " | ||
18 | + "available on your PYTHONPATH environment variable? Did you " | ||
19 | + "forget to activate a virtual environment?" | ||
20 | + ) | ||
21 | + raise | ||
17 | execute_from_command_line(sys.argv) | 22 | execute_from_command_line(sys.argv) |
18 | - | ||
19 | - | ||
20 | -if __name__ == '__main__': | ||
21 | - main() | ... | ... |
khubox-api/requirements.txt
0 → 100644
1 | +argcomplete==1.11.1 | ||
2 | +boto3==1.13.16 | ||
3 | +botocore==1.16.16 | ||
4 | +certifi==2020.4.5.1 | ||
5 | +cfn-flip==1.2.3 | ||
6 | +chardet==3.0.4 | ||
7 | +click==7.1.2 | ||
8 | +Django==1.11.29 | ||
9 | +docutils==0.15.2 | ||
10 | +durationpy==0.5 | ||
11 | +future==0.18.2 | ||
12 | +hjson==3.0.1 | ||
13 | +idna==2.9 | ||
14 | +importlib-metadata==1.6.0 | ||
15 | +jmespath==0.10.0 | ||
16 | +-e git+http://khuhub.khu.ac.kr/2016104129/kappa.git@1b0e17bb6da7460d9d494828c682a5ef66736aa3#egg=kappa | ||
17 | +pip-tools==5.1.2 | ||
18 | +placebo==0.9.0 | ||
19 | +PyMySQL==0.9.3 | ||
20 | +python-dateutil==2.6.1 | ||
21 | +python-slugify==4.0.0 | ||
22 | +pytz==2020.1 | ||
23 | +PyYAML==5.3.1 | ||
24 | +requests==2.23.0 | ||
25 | +s3transfer==0.3.3 | ||
26 | +six==1.15.0 | ||
27 | +text-unidecode==1.3 | ||
28 | +toml==0.10.1 | ||
29 | +tqdm==4.46.0 | ||
30 | +troposphere==2.6.1 | ||
31 | +urllib3==1.25.9 | ||
32 | +Werkzeug==0.16.1 | ||
33 | +wsgi-request-logger==0.4.6 | ||
34 | +zappa==0.51.0 | ||
35 | +zipp==3.1.0 |
khubox-api/zappa_settings.json
0 → 100644
1 | +{ | ||
2 | + "production": { | ||
3 | + "aws_region": "ap-northeast-2", | ||
4 | + "django_settings": "config.settings", | ||
5 | + "profile_name": "default", | ||
6 | + "project_name": "khubox-api", | ||
7 | + "runtime": "python3.6", | ||
8 | + "s3_bucket": "khubox-deploy", | ||
9 | + "memory_size": 128, | ||
10 | + "vpc_config": { | ||
11 | + "SubnetIds": ["subnet-02d51e69"], | ||
12 | + "SecurityGroupIds": ["sg-09c30d37d6a504f5c"] | ||
13 | + } | ||
14 | + } | ||
15 | +} |
-
Please register or login to post a comment