diff --git a/DB Final Project_201620916/app/main/index.py b/DB Final Project_201620916/app/main/index.py
new file mode 100644
index 0000000000000000000000000000000000000000..e7e7a20deca48da8661032a7a1aa170766daecb5
--- /dev/null
+++ b/DB Final Project_201620916/app/main/index.py	
@@ -0,0 +1,283 @@
+# file name : index.py
+# pwd : /project_name/app/main/index.py
+from flask import session, Blueprint, request, render_template, flash, redirect, url_for
+from flask import current_app as current_app
+import datetime
+
+from app.module import dbModule
+
+main = Blueprint('main', __name__, url_prefix='/')
+
+
+@main.route('/', methods=['GET'])
+def index():
+    db_class= dbModule.Database()
+
+    sql = "SELECT * FROM movie"
+
+    db_class.execute(sql)
+    movielist= db_class.cursor.fetchall()
+
+    return render_template('/main/index.html',movielist=movielist)
+
+#회원가입
+@main.route('/register', methods=['GET', 'POST'])
+def register():
+    if request.method=='GET':
+        return render_template('/main/register.html')
+    else:
+        db_class= dbModule.Database()
+
+        customerid=request.form['customerid']
+        lastname=request.form['lastname']
+        firstname=request.form['firstname']
+        address=request.form['address']
+        city=request.form['city']
+        state=request.form['state']
+        zipcode=request.form['zipcode']
+        telephone=request.form['telephone']
+        accountnum=request.form['accountnum']
+        accounttype=request.form['accounttype']
+        email=request.form['email']
+        creditcard=request.form['creditcard']
+        createdate=datetime.datetime.now().strftime("%Y-%m-%d")
+        sql = "INSERT INTO movie.customer(customer_id, Lname, Fname, address, city, state, zip_code, telephone, account_num, account_type,customer_email,credit_card,acc_create_date) \
+                    VALUES('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d', '%s', '%s', '%s', '%s')"% (customerid,lastname,firstname,address,city,state,zipcode,telephone,int(accountnum),accounttype,email,creditcard,createdate)
+
+        db_class.execute(sql)
+        db_class.commit()
+
+        return redirect('/')
+
+@main.route('/customerMovie', methods=['GET'])
+def customerMovie():
+    if 'user' in session:
+        db_class= dbModule.Database()
+
+        sql = "select m.movie_name ordered_movie, co.rating from customer_order co, customer c, movie m \
+                where co.customer_id=c.customer_id and c.customer_id='%s' \
+                    and co.movie_id=m.movie_id and co.return_date is null order by m.movie_name asc"%session['user']
+
+        db_class.execute(sql)
+        result= db_class.cursor.fetchall()
+
+        return render_template('/main/index.html',orderlist=result)
+    else:
+        return'''
+            <script> alert("로그인 후 이용 가능합니다"); 
+            location.href="/"
+            </script> 
+            '''
+
+
+@main.route('/customerQueue', methods=['GET'])
+def customerQueue():
+    if 'user' in session:
+        db_class= dbModule.Database()
+
+        sql = "select m.movie_name from customer c, movie m, movie_queue mq \
+                where c.customer_id='%s' and c.customer_id=mq.customer_id and \
+                    c.account_num=mq.account_num and m.movie_id=mq.movie_id order by m.movie_name asc"%session['user']
+
+        db_class.execute(sql)
+        result= db_class.cursor.fetchall()
+
+        return render_template('/main/index.html',customerqueue=result)
+    else:
+        return'''
+            <script> alert("로그인 후 이용 가능합니다"); 
+            location.href="/"
+            </script> 
+            '''
+
+@main.route('/customerAccount', methods=['GET'])
+def customerAccount():
+    if 'user' in session:
+        db_class= dbModule.Database()
+
+        sql = "select account_type, credit_card, acc_create_date \
+                from customer c where c.customer_id='%s' order by customer_id asc"%session['user']
+
+        db_class.execute(sql)
+        result= db_class.cursor.fetchall()
+
+        return render_template('/main/index.html',accountdata=result)
+    else:
+        return'''
+            <script> alert("로그인 후 이용 가능합니다"); 
+            location.href="/"
+            </script> 
+            '''
+
+@main.route('/availableTypeMovie', methods=['GET','POST'])
+def availableTypeMovie():
+    if request.method == 'GET':
+        return render_template("/main/findbytype.html")
+    else:
+        movie_type=request.form['movietype']
+        db_class= dbModule.Database()
+
+        sql = "select movie_name from movie m where movie_type='%s'"%movie_type
+
+        db_class.execute(sql)
+        result= db_class.cursor.fetchall()
+
+        return render_template('/main/index.html',findmovietype=result,type=movie_type)
+
+@main.route('/findMoviebyword', methods=['GET','POST'])
+def findMoviebyword():
+    if request.method == 'GET':
+        return render_template('/main/findbyword.html')
+    else:
+        if request.form['word']=='':
+            return'''
+                <script> alert("단어를 입력해 주세요"); 
+                location.href="/"
+                </script> 
+                '''
+        else:
+            db_class= dbModule.Database()
+            words=request.form['word'].split(',')
+
+            result=[]
+
+            if(len(words)==1):
+                sql = "select movie_name from movie where movie_name like '%%"+words[0]+"%%'"
+
+                db_class.execute(sql)
+                result = db_class.cursor.fetchall()
+            else:
+                sql = "select movie_name from movie where movie_name like '%%"+words[0]+"%%' and movie_name like '%%"+words[1]+"%%'"
+
+                db_class.execute(sql)
+                result = db_class.cursor.fetchall()
+
+            return render_template('/main/index.html',findmovieword=result, words=words)
+
+@main.route('/findMoviebyActor', methods=['GET','POST'])
+def findMoviebyActor():
+    if request.method == 'GET':
+        return render_template('/main/findbyactor.html')
+    else:
+        if request.form['actor']=='':
+            return'''
+                <script> alert("배우 이름을 입력해 주세요"); 
+                location.href="/"
+                </script> 
+                '''
+        else:
+            db_class= dbModule.Database()
+            actors=request.form['actor'].split(',')
+
+            result=[]
+            if len(actors)==1:
+                sql = "select m.movie_name, a.actor_name from movie m, actor_movie_table amt, actor a \
+                        where m.movie_id=amt.movie_id and amt.actor_id=a.actor_id and a.actor_name='%s'"%actors[0]
+            else:
+                sql = "select distinct m.movie_name, a1.actor_name, a2.actor_name from movie m, actor_movie_table amt, actor a1, actor a2 where m.movie_id=amt.movie_id and \
+                        m.movie_id in(select amt1.movie_id from actor_movie_table amt1 where a1.actor_id=amt1.actor_id and a1.actor_name='%s') and \
+                            m.movie_id in(select amt2.movie_id from actor_movie_table amt2 where a2.actor_id=amt2.actor_id and a2.actor_name='%s')"%(actors[0],actors[1])
+
+            db_class.execute(sql)
+            result = db_class.cursor.fetchall()
+
+            return render_template('/main/index.html',findmovieactor=result,actors=actors)
+
+@main.route('/findBestsellerMovie', methods=['GET'])
+def findBestsellerMovie():
+    db_class= dbModule.Database()
+
+    sql = "select movie_name, number_of_copy from movie where number_of_copy > 4"
+
+    db_class.execute(sql)
+    result= db_class.cursor.fetchall()
+
+    return render_template('/main/index.html',bestsellingmovies=result)
+
+@main.route('/suggestMovies', methods=['GET'])
+def suggestMovies():
+    if 'user' in session:
+        db_class= dbModule.Database()
+
+        sql = "create view find_type as select m.movie_type, count(*) from customer_order co, movie m\
+                where co.customer_id='%s' and co.movie_id=m.movie_id group by movie_type order by count(*) desc, m.movie_type asc"%session['user']
+        db_class.execute(sql)
+
+        sql = "select m.movie_name, m.movie_type \
+                from movie m where m.movie_type=(select movie_type from find_type limit 1) and\
+                 m.movie_id not in(select co.movie_id from customer_order co where co.customer_id='%s')"%session['user']
+
+        db_class.execute(sql)
+        result= db_class.cursor.fetchall()
+
+        sql = "drop view find_type"
+        db_class.execute(sql)
+        db_class.commit()
+
+        return render_template('/main/index.html',recmovie=result)
+    else:
+        return'''
+            <script> alert("로그인 후 이용 가능합니다"); 
+            location.href="/"
+            </script> 
+            '''
+
+@main.route('/rateMovie', methods=['POST'])
+def rateMovie():
+    db_class= dbModule.Database()
+
+    sql = "select m.movie_name, m.movie_id from movie m, customer_order co, customer c \
+            where c.customer_id='%s' and c.customer_id=co.customer_id and c.account_num=co.account_num and co.movie_id=m.movie_id"%session['user']
+    
+    db_class.execute(sql)
+    ordered_movie= db_class.cursor.fetchall()
+
+    for movie in ordered_movie:
+        if request.form['moviename'] in movie.values():
+            ordered_movie_id=list(movie.values())[1]
+
+    sql = 'UPDATE movie.customer_order SET Rating = %d WHERE movie_id=%d'%(int(request.form['point']),ordered_movie_id)
+    db_class.execute(sql)
+    db_class.commit()
+    
+    sql= "SELECT * FROM customer_order"
+    db_class.execute(sql)
+    result= db_class.cursor.fetchall()
+
+    return redirect('/customerMovie')
+
+
+@main.route('/login', methods=['GET', 'POST'])
+def login():
+    if request.method == 'GET':
+        return render_template('/main/login.html')
+    else:
+        customerid = request.form['customerid']
+        db_class= dbModule.Database()
+        sql = "select customer_id from customer where customer_id='%s'"%customerid
+        db_class.execute(sql)
+        result= db_class.cursor.fetchall()
+
+        if len(result)!=0:
+            session['user'] = result[0]['customer_id']
+            return '''
+                    <script> alert("{}님 로그인 성공"); 
+                    location.href="/"
+                     </script> 
+                     '''.format(result[0]['customer_id'])
+        else:
+            return'''
+                <script> alert("등록되지 않은 사용자입니다"); 
+                location.href="/"
+                </script> 
+                '''
+
+@main.route('/logout')
+def logout():
+    user=session['user']
+    session.pop('user', None)
+    return '''
+        <script> alert("{}님 로그아웃 완료"); 
+        location.href="/"
+        </script> 
+        '''.format(user)