diff --git a/src/components/Nav.vue b/src/components/Nav.vue
index b717bc84077fef9860c22e13ead446f32a81524c..1ed8197e5028d0b96d9566e0c9c7be4fa3157241 100644
--- a/src/components/Nav.vue
+++ b/src/components/Nav.vue
@@ -2,36 +2,52 @@
     <div class="nav">
         <div class="profile">
             <img src="../assets/logo.png" alt="">
-            <p>{{uid}}</p>
-            <p>{{name}}</p>
-            <p>{{univ}}</p>
-            <p>{{major}}</p>
+            <div v-if="isLogin === false">
+                <h4>Hi</h4>
+            </div>
+            <div v-if="isLogin === true">
+                <p>{{userInfo.name}}</p>
+                <p>{{userInfo.univ}}</p>
+                <p>{{userInfo.department}}</p>
+                <p>{{userInfo.sid}}</p>
+            </div>
             <hr>
         </div>
         <div id="menu">
             <router-link to='/'>Home</router-link><br>
-            <router-link to='/login'>Login</router-link><br>
-            <router-link to='/club'>Club</router-link>
-        </div>
-        <div id="UserInfo">
-            <h3>My Info</h3>
-        </div>
-        <div id="UserClub">
-            <h3>Club Info</h3>
+            <router-link to='/login' v-if="isLogin === false">로그인</router-link><br>
+            <router-link to='/mypage' v-if="isLogin == true">마이 페이지</router-link><br><br>
+            <router-link :to="{name:'club', query:{clubs:clubs}}" v-if="isLogin == true">동아리 구경</router-link><br><br>
+        
+            <list v-if="isLogin == true">내 동아리</list><br><br><br><br>
+            <!--<div class="dropdown" v-if="isLogin == true"v-for="(club, index) in clubs" :key="index">
+                <button class="dropbtn">{{club.club}}</button>
+                <div class="dropdown-content">
+                    <router-link :to="{name:'club_manage', query:{clubId:club.id,clubName:club.club,clubMember:club.member}}" v-if="isLogin == true">동아리 관리</router-link><br>
+                    <router-link :to="{path: `/club_post/${club.id}`,params:{clubId:club.id,clubName:club.club}}" v-if="isLogin == true">게시판</router-link><br>
+                    <router-link :to="{path: `/club_calendar/${club.id}`}" v-if="isLogin == true">공용 캘린더</router-link>
+                </div>
+            </div>-->
+
+            <div @click="$store.dispatch('logout')">
+            <router-link to='/' v-if="isLogin == true">로그아웃</router-link><br><br>
+            </div>
         </div>
     </div>
 </template>
 
 <script>
+import {mapState} from "vuex"
 export default {
     name: 'Nav',
     data() {
         return {
-            uid: 'User ID',
-            name: 'User Name',
-            univ: 'Univ',
-            major: 'Major'
+
         }
+    },
+    computed:{
+      ...mapState(['isLogin']),
+      ...mapState(['userInfo'])
     }
 }
 </script>
diff --git a/src/router/index.js b/src/router/index.js
index cfd28f39691cb94a2b7774f9fb810b1a8ba979c1..d54b08eebda9df29c039e180bf918e6c4d04ff82 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -33,6 +33,13 @@ const routes = [
     name: 'signup',
     component: SignUp
   },
+  {
+    path: "/mypage",
+    name: "mypage",
+    // beforeEnter: onlyAuthUser,
+    component: () =>
+      import(/* webpackChunkName: "about" */ "../views/Mypage.vue")
+  },
   {
     path: '/club',
     name: 'club',
diff --git a/src/store/index.js b/src/store/index.js
index 34ce7b5e5f6f101f3a252ca617349173f8e874ed..102c9c154e5eb5c2196aad0c025f719ccb15315a 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,29 +1,56 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
-
+import router from "../router/index"
+import axios from "axios"
 Vue.use(Vuex)
 
 export default new Vuex.Store({
   state: {
-    HOST_API: 'http://jnhonlinux.ddns.net:3000',
-    nowUser: {},
-    // id: '',
-    // uid: '',
-    // password: '',
-    // email: '',
-    // phone: '',
-    // univ: '',
-    // department: '',
-    // sid: '',
-    // ifsuper: '',
+    userInfo:null,
+    isLogin: false,
+    isLoginError: false
   },
   mutations: {
-    setUser(state, payload){
-      state.nowUser = payload;
+    loginSuccess(state, payload){
+      state.isLogin = true
+      state.isLoginError = false
+      state.userInfo = payload
+    },
+    loginError(state){
+      state.isLogin = false
+      state.isLoginError = true
+    },
+    logout(state){
+      state.isLogin = false
+      state.isLoginError = false
+      state.userInfo = null
     }
   },
   actions: {
+    login({commit}, loginObj){
+      axios  
+        .post("http://jnhonlinux.ddns.net:3000/login",loginObj)
+        .then(res=>{
+          if(res.data.success == true){
+            let userInfo = res.data.result[0]
+            commit('loginSuccess', userInfo)            
+            alert("로그인이 되었습니다.")
+            router.push('/mypage')
+          }
+          else{
+            alert("로그인에 실패하였습니다.")
+            commit('loginError')
+          }
+        })
+        .catch(err =>{
+        console.log(err)
+        })
+      },
+    logout({commit}){
+      commit('logout')
+      alert("로그아웃 되었습니다.")
+      router.push('/')
+    }
   },
-  modules: {
-  }
+  modules: {}
 })
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 353f4f06aae2f8bea9ebf4802d6e5520ab26fd05..36d0cf6677ab168c47b5c899ba0322ba0eb71d7c 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -8,14 +8,14 @@
             <input type="password" v-model="password" placeholder="Enter The password...">
         </div>        
 
-        <button v-on:click="btnLogin">Login</button><br>
-        {{data}} <br>
-        {{$store.state.nowUser}}
+        <button @click="login({uid: uid, password: password})">Login</button><br>
         <router-link to='/signup'><p>If you are not yet a member ...</p></router-link>
     </div>
 </template>
 
 <script>
+import {mapState, mapActions} from "vuex"
+import axios from "axios"
 export default {
     name: 'login',
     data() {
@@ -24,21 +24,14 @@ export default {
             uid: '',
             password: '',
             message: '',
-            data: [],
+            data: []
         }
     },
     methods: {
-        async btnLogin() {
-            const res = await this.$http.post('http://jnhonlinux.ddns.net:3000/login', {
-                'uid': this.uid,
-                'password': this.password
-            });
-            if(res.data.success == true) {
-                this.data = res.data.result[0]
-                this.$store.commit('setUser', data);
-            //    this.$router.push("/")
-            }
-        }
+        ...mapActions(['login'])
+    },
+    computed: {
+        ...mapState(["isLigin","isLoginError"])
     }
 }
 </script>
diff --git a/src/views/Modify_profile.vue b/src/views/Modify_profile.vue
new file mode 100644
index 0000000000000000000000000000000000000000..33fe4cead566b5c33de574c48733d365c4c84b25
--- /dev/null
+++ b/src/views/Modify_profile.vue
@@ -0,0 +1,58 @@
+<template>
+    <div class="modify">
+        <div>
+            <!--placeholder로 기본값 설정해야함 / form 형식?-->
+            이름: <input type="text" name="name" placeholder="김도현" readonly/>
+            <br>
+            이메일: <input type="email" v-model="user.email" placeholder="kdh5998@ajou.ac.kr" required>
+            <br>
+            대학교: <input type="text" v-model="user.university" placeholder="아주대학교" required>
+            <br>
+            전공: <input type="text" v-model="user.major" placeholder="소프트웨어학과" required>
+            <br>
+            학번: <input type="text" v-model="user.student_num" placeholder="201720726">
+            <br>
+            전화번호: <input type="text" v-model="user.phone_num" placeholder="01092495992" pattern="(010)-\d{3,4}-\d{4}">
+            <br><br>
+            <!--아직 못함-->
+            <button @click="submit()">제출하기</button>
+        </div>
+    </div>
+</template>
+
+<script>
+import { eventBus } from '../main'
+import {mapState} from "vuex"
+export default {
+    data(){
+        return {
+            email:'',
+            university:'',
+            major:'',
+            student_num:'',
+            phone_num:'',
+            user:{}
+        }
+    },
+    created(){
+        this.user.email = this.email
+        this.user.university = this.university
+        this.user.major = this.major
+        this.user.student_num = this.student_num
+        this.user.phone_num = this.phone_num
+    },
+    computed: {
+        ...mapState(['userInfo'])
+    },
+    methods: {
+        submit(){
+            console.log(this.user)
+            // eventBus.$emit("userWasModified",new Date())
+        }
+    }
+}
+</script>
+
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/views/Mypage.vue b/src/views/Mypage.vue
new file mode 100644
index 0000000000000000000000000000000000000000..700f7b361b5442ac96e7678ecf0de48f4d988966
--- /dev/null
+++ b/src/views/Mypage.vue
@@ -0,0 +1,45 @@
+<template>
+    <div class="mypage">
+        <div>
+            <pre>학교:  {{userInfo.univ}}</pre>
+            <pre>학과:  {{userInfo.department}}</pre>
+            <pre>학번:  {{userInfo.sid}}</pre>
+            <pre>이메일:  {{userInfo.email}}</pre>
+            <pre>전화번호: {{userInfo.phone}}</pre>
+        </div>
+    <router-link to="/modify_profile">수정하기</router-link>
+    
+    </div>
+</template>
+
+<script>
+import { eventBus } from "../main"
+import {mapState} from "vuex"
+export default {
+    data() {
+        return {
+            editDate: null
+        }
+    },
+    computed: {
+        ...mapState(['userInfo'])
+    },
+    // created() {
+    //     eventBus.$on('userWasModified',(date) => {
+    //         this.editDate = data
+    //     })
+    // },
+    // methods: {
+    //     parents(){
+    //         console.log("부모 받음")
+    //     }
+    // }
+}
+</script>
+
+<style scoped>
+.mypage pre{
+    font-size: 30px;
+    text-align: center;
+}
+</style>
\ No newline at end of file