김재형

Add backend

1 # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 1 # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 2
3 # dependencies 3 # dependencies
4 +/backend/env
4 /frontend/node_modules 5 /frontend/node_modules
5 /frontend/.pnp 6 /frontend/.pnp
6 .pnp.js 7 .pnp.js
...@@ -11,12 +12,16 @@ ...@@ -11,12 +12,16 @@
11 # production 12 # production
12 /frontend/build 13 /frontend/build
13 14
15 +# database
16 +/backend/db.sqlite3
17 +
14 # misc 18 # misc
15 .DS_Store 19 .DS_Store
16 .env.local 20 .env.local
17 .env.development.local 21 .env.development.local
18 .env.test.local 22 .env.test.local
19 .env.production.local 23 .env.production.local
24 +__pycache__
20 25
21 npm-debug.log* 26 npm-debug.log*
22 yarn-debug.log* 27 yarn-debug.log*
......
...@@ -13,4 +13,25 @@ ...@@ -13,4 +13,25 @@
13 3. Database : PostgreSQL 13 3. Database : PostgreSQL
14 4. AWS service : EC2, S3 14 4. AWS service : EC2, S3
15 15
16 +## 도움말
17 +### Prerequisite
18 +- Python 3.8
19 +- Node.js 12
20 +
21 +### Backend
22 +```
23 +cd backend
24 +python3 -m venv env
25 +source env/bin/activate
26 +pip3 install requirements.txt
27 +python3 manage.py runserver
28 +```
29 +
30 +### Frontend
31 +```
32 +cd frontend
33 +npm install
34 +npm start
35 +```
36 +
16 ## 향후 일정 37 ## 향후 일정
......
1 +from django.contrib import admin
2 +
3 +# Register your models here.
1 +from django.apps import AppConfig
2 +
3 +
4 +class ApiConfig(AppConfig):
5 + name = 'api'
1 +from django.db import models
2 +
3 +# Create your models here.
1 +from django.test import TestCase
2 +
3 +# Create your tests here.
1 +from django.shortcuts import render
2 +
3 +# Create your views here.
1 +"""
2 +ASGI config for khudrive 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', 'khudrive.settings')
15 +
16 +application = get_asgi_application()
1 +"""
2 +Django settings for khudrive project.
3 +
4 +Generated by 'django-admin startproject' using Django 3.0.6.
5 +
6 +For more information on this file, see
7 +https://docs.djangoproject.com/en/3.0/topics/settings/
8 +
9 +For the full list of settings and their values, see
10 +https://docs.djangoproject.com/en/3.0/ref/settings/
11 +"""
12 +
13 +import os
14 +
15 +# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
16 +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
17 +
18 +
19 +# Quick-start development settings - unsuitable for production
20 +# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
21 +
22 +# SECURITY WARNING: keep the secret key used in production secret!
23 +SECRET_KEY = '3b=a99pdbz*48$9$kh@h3tkb*9w-m3vtf8ngyymdzwpl5$emwn'
24 +
25 +# SECURITY WARNING: don't run with debug turned on in production!
26 +DEBUG = True
27 +
28 +ALLOWED_HOSTS = []
29 +
30 +
31 +# Application definition
32 +
33 +INSTALLED_APPS = [
34 + 'django.contrib.admin',
35 + 'django.contrib.auth',
36 + 'django.contrib.contenttypes',
37 + 'django.contrib.sessions',
38 + 'django.contrib.messages',
39 + 'django.contrib.staticfiles',
40 + 'rest_framework',
41 +]
42 +
43 +MIDDLEWARE = [
44 + 'django.middleware.security.SecurityMiddleware',
45 + 'django.contrib.sessions.middleware.SessionMiddleware',
46 + 'django.middleware.common.CommonMiddleware',
47 + 'django.middleware.csrf.CsrfViewMiddleware',
48 + 'django.contrib.auth.middleware.AuthenticationMiddleware',
49 + 'django.contrib.messages.middleware.MessageMiddleware',
50 + 'django.middleware.clickjacking.XFrameOptionsMiddleware',
51 +]
52 +
53 +ROOT_URLCONF = 'khudrive.urls'
54 +
55 +TEMPLATES = [
56 + {
57 + 'BACKEND': 'django.template.backends.django.DjangoTemplates',
58 + 'DIRS': [],
59 + 'APP_DIRS': True,
60 + 'OPTIONS': {
61 + 'context_processors': [
62 + 'django.template.context_processors.debug',
63 + 'django.template.context_processors.request',
64 + 'django.contrib.auth.context_processors.auth',
65 + 'django.contrib.messages.context_processors.messages',
66 + ],
67 + },
68 + },
69 +]
70 +
71 +WSGI_APPLICATION = 'khudrive.wsgi.application'
72 +
73 +
74 +# Database
75 +# https://docs.djangoproject.com/en/3.0/ref/settings/#databases
76 +
77 +DATABASES = {
78 + 'default': {
79 + 'ENGINE': 'django.db.backends.sqlite3',
80 + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
81 + }
82 +}
83 +
84 +
85 +# Password validation
86 +# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators
87 +
88 +AUTH_PASSWORD_VALIDATORS = [
89 + {
90 + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
91 + },
92 + {
93 + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
94 + },
95 + {
96 + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
97 + },
98 + {
99 + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
100 + },
101 +]
102 +
103 +
104 +# Internationalization
105 +# https://docs.djangoproject.com/en/3.0/topics/i18n/
106 +
107 +LANGUAGE_CODE = 'en-us'
108 +
109 +TIME_ZONE = 'UTC'
110 +
111 +USE_I18N = True
112 +
113 +USE_L10N = True
114 +
115 +USE_TZ = True
116 +
117 +
118 +# Static files (CSS, JavaScript, Images)
119 +# https://docs.djangoproject.com/en/3.0/howto/static-files/
120 +
121 +STATIC_URL = '/static/'
1 +"""khudrive URL Configuration
2 +
3 +The `urlpatterns` list routes URLs to views. For more information please see:
4 + https://docs.djangoproject.com/en/3.0/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: path('', 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: path('', Home.as_view(), name='home')
12 +Including another URLconf
13 + 1. Import the include() function: from django.urls import include, path
14 + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15 +"""
16 +from django.contrib import admin
17 +from django.urls import path
18 +
19 +urlpatterns = [
20 + path('admin/', admin.site.urls),
21 +]
1 +"""
2 +WSGI config for khudrive project.
3 +
4 +It exposes the WSGI 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/wsgi/
8 +"""
9 +
10 +import os
11 +
12 +from django.core.wsgi import get_wsgi_application
13 +
14 +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'khudrive.settings')
15 +
16 +application = get_wsgi_application()
1 +#!/usr/bin/env python
2 +"""Django's command-line utility for administrative tasks."""
3 +import os
4 +import sys
5 +
6 +
7 +def main():
8 + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'khudrive.settings')
9 + try:
10 + from django.core.management import execute_from_command_line
11 + except ImportError as exc:
12 + raise ImportError(
13 + "Couldn't import Django. Are you sure it's installed and "
14 + "available on your PYTHONPATH environment variable? Did you "
15 + "forget to activate a virtual environment?"
16 + ) from exc
17 + execute_from_command_line(sys.argv)
18 +
19 +
20 +if __name__ == '__main__':
21 + main()
1 +asgiref==3.2.7
2 +Django==3.0.6
3 +djangorestframework==3.11.0
4 +pytz==2020.1
5 +sqlparse==0.3.1