Showing
7 changed files
with
29 additions
and
114 deletions
... | @@ -2,12 +2,34 @@ const express = require("express"); | ... | @@ -2,12 +2,34 @@ const express = require("express"); |
2 | const bodyParser = require("body-parser"); | 2 | const bodyParser = require("body-parser"); |
3 | const router = express.Router(); | 3 | const router = express.Router(); |
4 | 4 | ||
5 | +const {User}=require('../models'); | ||
6 | + | ||
5 | router.get('/',(req,res)=>{ | 7 | router.get('/',(req,res)=>{ |
6 | res.send('회원가입 페이지'); | 8 | res.send('회원가입 페이지'); |
7 | }); | 9 | }); |
8 | 10 | ||
9 | router.post('/',(req,res)=>{ | 11 | router.post('/',(req,res)=>{ |
10 | - return res.status(201).json({success: true}) | 12 | + User.findOne({ |
13 | + where:{name: req.body.Id} | ||
14 | + }) | ||
15 | + .then((result)=>{ | ||
16 | + //id가 중복되지 않는 경우 | ||
17 | + if(result === null || result === undefined){ | ||
18 | + User.create({ | ||
19 | + name: req.body.Id, | ||
20 | + pw:req.body.Password, | ||
21 | + personality:req.body.Personality, | ||
22 | + status:false | ||
23 | + }) | ||
24 | + console.log(req.body); | ||
25 | + return res.sendStatus(200); | ||
26 | + } | ||
27 | + //id중복 | ||
28 | + else{ | ||
29 | + console.log("중복된 id"); | ||
30 | + return res.sendStatus(401); | ||
31 | + } | ||
32 | + }) | ||
11 | }); | 33 | }); |
12 | 34 | ||
13 | //라우트 매개변수사용 | 35 | //라우트 매개변수사용 | ... | ... |
... | @@ -13,14 +13,11 @@ dotenv.config(); | ... | @@ -13,14 +13,11 @@ dotenv.config(); |
13 | const indexRouter = require('./routes/index.js'); | 13 | const indexRouter = require('./routes/index.js'); |
14 | const loginRouter = require('./routes/login.js'); | 14 | const loginRouter = require('./routes/login.js'); |
15 | const registerRouter = require('./routes/register.js'); | 15 | const registerRouter = require('./routes/register.js'); |
16 | -<<<<<<< HEAD | ||
17 | const mainRouter = require('./routes/main.js'); | 16 | const mainRouter = require('./routes/main.js'); |
18 | const logoutRouter = require('./routes/logout.js'); | 17 | const logoutRouter = require('./routes/logout.js'); |
19 | const authRouter = require('./routes/auth.js'); | 18 | const authRouter = require('./routes/auth.js'); |
20 | const userRouter = require('./routes/user.js'); | 19 | const userRouter = require('./routes/user.js'); |
21 | const postRouter = require('./routes/post.js'); | 20 | const postRouter = require('./routes/post.js'); |
22 | -======= | ||
23 | ->>>>>>> board | ||
24 | 21 | ||
25 | const app = express(); | 22 | const app = express(); |
26 | app.set('port', process.env.PORT || 3001); | 23 | app.set('port', process.env.PORT || 3001); |
... | @@ -39,10 +36,6 @@ sequelize.sync({force: false}) | ... | @@ -39,10 +36,6 @@ sequelize.sync({force: false}) |
39 | app.use(morgan('dev')); | 36 | app.use(morgan('dev')); |
40 | app.use(express.json()); //json형식으로 데이터 전달 | 37 | app.use(express.json()); //json형식으로 데이터 전달 |
41 | app.use(express.urlencoded({extende: false})); // url형식으로 형식으로 데이터 전달 | 38 | app.use(express.urlencoded({extende: false})); // url형식으로 형식으로 데이터 전달 |
42 | -<<<<<<< HEAD | ||
43 | -======= | ||
44 | -//app.use(bodyParser().json); | ||
45 | ->>>>>>> board | ||
46 | app.use(cookieParser(process.env.COOKIE_SECRET)); | 39 | app.use(cookieParser(process.env.COOKIE_SECRET)); |
47 | app.use(session({ | 40 | app.use(session({ |
48 | resave: false, | 41 | resave: false, |
... | @@ -65,12 +58,6 @@ app.use('/api/logout',logoutRouter);//로그아웃 | ... | @@ -65,12 +58,6 @@ app.use('/api/logout',logoutRouter);//로그아웃 |
65 | app.use('/api/user',userRouter);//유저정보 응답 | 58 | app.use('/api/user',userRouter);//유저정보 응답 |
66 | app.use('/api/post',postRouter);//유저정보 응답 | 59 | app.use('/api/post',postRouter);//유저정보 응답 |
67 | 60 | ||
68 | -<<<<<<< HEAD | ||
69 | -======= | ||
70 | -//app.use('/',loginRouter); //로그인 페이지 | ||
71 | -app.use('/api/register',registerRouter); // 회원가입 페이지 | ||
72 | ->>>>>>> board | ||
73 | - | ||
74 | 61 | ||
75 | //에러처리 미들웨어 | 62 | //에러처리 미들웨어 |
76 | //존재하지 않는 경로가 들어오면 오류 응답 | 63 | //존재하지 않는 경로가 들어오면 오류 응답 | ... | ... |
1 | -<<<<<<< HEAD | ||
2 | -import React, {useState} from 'react'; | ||
3 | -import '../style/Board.scss' | ||
4 | -import {CKEditor} from "@ckeditor/ckeditor5-react"; | ||
5 | -import ClassicEditor from "@ckeditor/ckeditor5-build-classic"; | ||
6 | -import {Button} from "semantic-ui-react"; | ||
7 | -import ReactHtmlParser from 'react-html-parser'; | ||
8 | 1 | ||
9 | -function Board() { | ||
10 | - const [BoardContent, setBoardContent] = useState({ | ||
11 | - title: '', | ||
12 | - content:'' | ||
13 | - }) | ||
14 | - const [viewContent,setViewContent] = useState([]); | ||
15 | - const getValue = e => { | ||
16 | - const {name, value} = e.target; | ||
17 | - setBoardContent({ | ||
18 | - ...BoardContent, | ||
19 | - [name]: value | ||
20 | - }) | ||
21 | - console.log(BoardContent); | ||
22 | - } | ||
23 | - return ( | ||
24 | - <div className="Board"> | ||
25 | - <div className="contents-container"> | ||
26 | - {viewContent.map(element => | ||
27 | - <div> | ||
28 | -======= | ||
29 | import React, { useState} from 'react'; | 2 | import React, { useState} from 'react'; |
30 | import '../style/Board.scss' | 3 | import '../style/Board.scss' |
31 | import ReactHtmlParser from 'react-html-parser'; | 4 | import ReactHtmlParser from 'react-html-parser'; |
... | @@ -43,65 +16,14 @@ function Board() { | ... | @@ -43,65 +16,14 @@ function Board() { |
43 | </div> | 16 | </div> |
44 | {viewContent.map(element => | 17 | {viewContent.map(element => |
45 | <div class="ui segment"> | 18 | <div class="ui segment"> |
46 | ->>>>>>> board | 19 | + |
47 | <h2>{element.title}</h2> | 20 | <h2>{element.title}</h2> |
48 | <div> | 21 | <div> |
49 | {ReactHtmlParser(element.content)} | 22 | {ReactHtmlParser(element.content)} |
50 | </div> | 23 | </div> |
51 | -<<<<<<< HEAD | ||
52 | - </div>) | ||
53 | - } | ||
54 | - </div> | ||
55 | - <div className="form=wrapper"> | ||
56 | - <input className="title-input" | ||
57 | - type='text' | ||
58 | - placeholder='제목' | ||
59 | - onChange={getValue} | ||
60 | - name = 'title' | ||
61 | - /> | ||
62 | - <CKEditor | ||
63 | - editor={ClassicEditor} | ||
64 | - data="" | ||
65 | - onReady={editor => { | ||
66 | - // You can store the "editor" and use when it is needed. | ||
67 | - console.log('Editor is ready to use!', editor); | ||
68 | - }} | ||
69 | - onChange={(event, editor) => { | ||
70 | - const data = editor.getData(); | ||
71 | - console.log({ event, editor, data }); | ||
72 | - setBoardContent({ | ||
73 | - ...BoardContent, | ||
74 | - content: data | ||
75 | - }) | ||
76 | - console.log(BoardContent); | ||
77 | - }} | ||
78 | - onBlur={(event, editor) => { | ||
79 | - console.log('Blur.', editor); | ||
80 | - }} | ||
81 | - onFocus={(event, editor) => { | ||
82 | - console.log('Focus.', editor); | ||
83 | - }} | ||
84 | - /> | ||
85 | - <div className="write-button"> | ||
86 | - <Button className="ui animated button" | ||
87 | - tabIndex="0" | ||
88 | - onClick={() =>{ | ||
89 | - setViewContent(viewContent.concat({...BoardContent})); | ||
90 | - }} | ||
91 | - > | ||
92 | - <div className="visible content">새 고민 작성하기</div> | ||
93 | - <div className="hidden content"> | ||
94 | - <i className="pencil alternate icon"></i> | ||
95 | - </div> | ||
96 | - </Button> | ||
97 | - </div> | ||
98 | - </div> | ||
99 | -======= | ||
100 | </div> | 24 | </div> |
101 | )} | 25 | )} |
102 | ->>>>>>> board | ||
103 | </div> | 26 | </div> |
104 | - | ||
105 | ); | 27 | ); |
106 | }; | 28 | }; |
107 | 29 | ... | ... |
... | @@ -3,13 +3,9 @@ import "../style/LoginPage.scss"; | ... | @@ -3,13 +3,9 @@ import "../style/LoginPage.scss"; |
3 | import Axios from 'axios' | 3 | import Axios from 'axios' |
4 | import { Icon, Input } from "semantic-ui-react" | 4 | import { Icon, Input } from "semantic-ui-react" |
5 | import { useNavigate } from "react-router-dom"; | 5 | import { useNavigate } from "react-router-dom"; |
6 | -<<<<<<< HEAD | ||
7 | function LoginPage() { | 6 | function LoginPage() { |
8 | let navigate = useNavigate(); | 7 | let navigate = useNavigate(); |
9 | -======= | 8 | + |
10 | -function LoginPage(props) { | ||
11 | - const navigate = useNavigate(); | ||
12 | ->>>>>>> board | ||
13 | const [Id, setId] = useState(""); | 9 | const [Id, setId] = useState(""); |
14 | const [Password, setPassword] = useState(""); | 10 | const [Password, setPassword] = useState(""); |
15 | const onIdHandler = (event) => { | 11 | const onIdHandler = (event) => { |
... | @@ -22,7 +18,6 @@ function LoginPage(props) { | ... | @@ -22,7 +18,6 @@ function LoginPage(props) { |
22 | event.preventDefault(); | 18 | event.preventDefault(); |
23 | console.log("ID", Id); | 19 | console.log("ID", Id); |
24 | console.log("Password", Password); | 20 | console.log("Password", Password); |
25 | -<<<<<<< HEAD | ||
26 | Axios.post('/api/login',{ | 21 | Axios.post('/api/login',{ |
27 | Id, | 22 | Id, |
28 | Password, | 23 | Password, |
... | @@ -40,9 +35,6 @@ function LoginPage(props) { | ... | @@ -40,9 +35,6 @@ function LoginPage(props) { |
40 | alert("잘못된 비밀번호입니다.") | 35 | alert("잘못된 비밀번호입니다.") |
41 | } | 36 | } |
42 | }) | 37 | }) |
43 | -======= | ||
44 | - | ||
45 | ->>>>>>> board | ||
46 | }; | 38 | }; |
47 | const goToRegister = () => { | 39 | const goToRegister = () => { |
48 | navigate('/register'); | 40 | navigate('/register'); | ... | ... |
... | @@ -22,7 +22,7 @@ function RegisterPage(props) { | ... | @@ -22,7 +22,7 @@ function RegisterPage(props) { |
22 | //비밀번호를 입력할때마다 password 를 검증하는 함수 | 22 | //비밀번호를 입력할때마다 password 를 검증하는 함수 |
23 | setPasswordCheck(event.currentTarget.value); | 23 | setPasswordCheck(event.currentTarget.value); |
24 | }; | 24 | }; |
25 | - const onSubmitHandler = useCallback((event) => { | 25 | + const onSubmitHandler = (event) => { |
26 | event.preventDefault(); | 26 | event.preventDefault(); |
27 | console.log("ID", Id); | 27 | console.log("ID", Id); |
28 | console.log("Password", Password); | 28 | console.log("Password", Password); |
... | @@ -46,7 +46,7 @@ function RegisterPage(props) { | ... | @@ -46,7 +46,7 @@ function RegisterPage(props) { |
46 | alert("중복된 아이디입니다.") | 46 | alert("중복된 아이디입니다.") |
47 | }) | 47 | }) |
48 | } | 48 | } |
49 | - },[Id, Password, Personality, PasswordCheck]) | 49 | + } |
50 | return ( | 50 | return ( |
51 | <div id="Register"> | 51 | <div id="Register"> |
52 | <div className="register-form"> | 52 | <div className="register-form"> | ... | ... |
... | @@ -3,16 +3,11 @@ import ReactDOM from 'react-dom'; | ... | @@ -3,16 +3,11 @@ import ReactDOM from 'react-dom'; |
3 | import './index.css'; | 3 | import './index.css'; |
4 | import App from './App'; | 4 | import App from './App'; |
5 | import 'semantic-ui-css/semantic.min.css' | 5 | import 'semantic-ui-css/semantic.min.css' |
6 | -<<<<<<< HEAD | ||
7 | 6 | ||
8 | ReactDOM.render( | 7 | ReactDOM.render( |
9 | <App />, | 8 | <App />, |
10 | document.getElementById('root') | 9 | document.getElementById('root') |
11 | -======= | 10 | + |
12 | -ReactDOM.render( | ||
13 | - <App />, | ||
14 | - document.getElementById('root') | ||
15 | ->>>>>>> board | ||
16 | ); | 11 | ); |
17 | // If you want to start measuring performance in your app, pass a function | 12 | // If you want to start measuring performance in your app, pass a function |
18 | // to log results (for example: reportWebVitals(console.log)) | 13 | // to log results (for example: reportWebVitals(console.log)) | ... | ... |
1 | const { createProxyMiddleware } = require('http-proxy-middleware'); | 1 | const { createProxyMiddleware } = require('http-proxy-middleware'); |
2 | module.exports = function(app) { | 2 | module.exports = function(app) { |
3 | app.use( | 3 | app.use( |
4 | -<<<<<<< HEAD | 4 | + |
5 | createProxyMiddleware('/api',{ | 5 | createProxyMiddleware('/api',{ |
6 | -======= | ||
7 | - createProxyMiddleware('/api',{ | ||
8 | ->>>>>>> board | ||
9 | target: 'http://localhost:3001', | 6 | target: 'http://localhost:3001', |
10 | changeOrigin: true, | 7 | changeOrigin: true, |
11 | }) | 8 | }) | ... | ... |
-
Please register or login to post a comment