diff --git a/backend/HomePage/__init__.py b/backend/HomePage/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/HomePage/admin.py b/backend/HomePage/admin.py deleted file mode 100644 index 9e13f19..0000000 --- a/backend/HomePage/admin.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.contrib import admin -from .models import Problem - -# Register your models here. -admin.site.register(Problem) \ No newline at end of file diff --git a/backend/HomePage/apps.py b/backend/HomePage/apps.py deleted file mode 100644 index c87dea3..0000000 --- a/backend/HomePage/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class HomepageConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'HomePage' diff --git a/backend/HomePage/index.html b/backend/HomePage/index.html deleted file mode 100644 index fe9ee1a..0000000 --- a/backend/HomePage/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Document - - -

Hello..

- - \ No newline at end of file diff --git a/backend/HomePage/migrations/0001_initial.py b/backend/HomePage/migrations/0001_initial.py deleted file mode 100644 index 4921218..0000000 --- a/backend/HomePage/migrations/0001_initial.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 4.1.7 on 2023-05-19 12:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Lectures', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('field1', models.CharField(max_length=100)), - ('field2', models.IntegerField()), - ], - ), - migrations.CreateModel( - name='Problems', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('field1', models.CharField(max_length=100)), - ('field2', models.IntegerField()), - ], - ), - ] diff --git a/backend/HomePage/migrations/0002_problem_delete_lectures_delete_problems.py b/backend/HomePage/migrations/0002_problem_delete_lectures_delete_problems.py deleted file mode 100644 index ea9e07f..0000000 --- a/backend/HomePage/migrations/0002_problem_delete_lectures_delete_problems.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 4.1.7 on 2023-05-19 12:28 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('HomePage', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Problem', - fields=[ - ('id', models.AutoField(primary_key=True, serialize=False)), - ('title', models.CharField(max_length=500)), - ('level', models.IntegerField()), - ('description', models.TextField()), - ], - ), - migrations.DeleteModel( - name='Lectures', - ), - migrations.DeleteModel( - name='Problems', - ), - ] diff --git a/backend/HomePage/migrations/__init__.py b/backend/HomePage/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/HomePage/models.py b/backend/HomePage/models.py deleted file mode 100644 index 621b3f2..0000000 --- a/backend/HomePage/models.py +++ /dev/null @@ -1,13 +0,0 @@ -from django.db import models - -# Create your models here. -class Problem(models.Model): - id = models.AutoField(primary_key=True) - title = models.CharField(max_length=500) - level = models.IntegerField() - description = models.TextField() - - - def __str__(self): - """String for representing the MyModelName object (in Admin site etc.).""" - return self.id \ No newline at end of file diff --git a/backend/HomePage/tests.py b/backend/HomePage/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/backend/HomePage/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/backend/HomePage/urls.py b/backend/HomePage/urls.py deleted file mode 100644 index 5afaf0a..0000000 --- a/backend/HomePage/urls.py +++ /dev/null @@ -1,11 +0,0 @@ -from django.urls import path - -from HomePage import views - -app_name = 'homepage' -urlpatterns = [ - # /HomePage/ - path('', views.index, name='index'), - # /HomePage/5/ - path('/', views.detail, name="detail") -] \ No newline at end of file diff --git a/backend/HomePage/views.py b/backend/HomePage/views.py deleted file mode 100644 index cb6b28a..0000000 --- a/backend/HomePage/views.py +++ /dev/null @@ -1,26 +0,0 @@ -from rest_framework.response import Response -from rest_framework.views import APIView -from django.http import HttpResponse -from rest_framework.views import APIView -import json -from HomePage.models import Problem -from django.template import loader - - -# Create your views here. -def index(request): - # return HttpResponse("Hello, world. You're at the HomePage index.") - template = loader.get_template('HomePage/index.html') - data = Problem.objects.order_by('id')[0] - context = { - 'data' : data, - } - return HttpResponse(template.render(context, request)) - - -def detail(request, question_id): - return HttpResponse(response % question_id) - -class ProblemListView(APIView): - def get(self, request): - return Response(None) \ No newline at end of file diff --git a/backend/backend/settings.py b/backend/backend/settings.py index 07f3c35..11001a8 100644 --- a/backend/backend/settings.py +++ b/backend/backend/settings.py @@ -65,7 +65,6 @@ def get_secret(key, secret=secret): # Application definition INSTALLED_APPS = [ - # 'HomePage.apps.HomepageConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', diff --git a/frontend/src/components/GuestRoute.jsx b/frontend/src/components/GuestRoute.jsx deleted file mode 100644 index 71cc49b..0000000 --- a/frontend/src/components/GuestRoute.jsx +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react' -import { Navigate, Route } from 'react-router-dom' -import { useAuth } from '../hooks' - -function GuestRoute(props) { - const { isAuth } = useAuth() - - if (isAuth) return - - return -} - -export default GuestRoute \ No newline at end of file diff --git a/frontend/src/components/NavBarBeforeLogin.jsx b/frontend/src/components/NavBarBeforeLogin.jsx deleted file mode 100644 index 702c2a2..0000000 --- a/frontend/src/components/NavBarBeforeLogin.jsx +++ /dev/null @@ -1,90 +0,0 @@ -import React from 'react'; -import styled from 'styled-components'; - -const NavigationLeft = styled.div` - background-color: #ffffff; - height: 64px; - left: 318px; - position: absolute; - top: 0; - width: 1440px; -`; - -const FirstButton = styled.button` - color: #000000; - font-family: "Roboto", Helvetica; - font-size: 18px; - font-weight: 400; - height: 40px; - right: 11%; - position: absolute; - top: 12px; - width: 10%; - background-color: #ffffff; -`; - -const SecondButton = styled.button` - height: 40px; - right: 0.7%; - position: absolute; - top: 12px; - width: 10%; - background-color: rgb(0,0,0); - color: rgb(255,255,255); -`; - -const LinkDiv = styled.div` - color: #000000; - font-family: "Roboto", Helvetica; - font-size: 18px; - font-weight: 400; - height: 22px; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; -`; - -const Links2 = styled.div` - height: 22px; - left: 156px; - position: absolute; - top: 21px; - width: 165px; -`; - -const NavFont = styled(Link)` - font-family: "Roboto", Helvetica; font-size: 18px; font-weight: 400; color: rgb(0, 0, 0); line-height: normal; - height: 22px; - left: 0; - letter-spacing: 0; - position: absolute; - top: 0; -`; - -const LogoImage = styled.img` - height: 58px; - left: 20px; - object-fit: cover; - position: absolute; - top: 0; - width: 101px; - cursor: pointer; -`; - -function NavBarBeforeLogin(props) { - return ( - - Sign Up - Login - - Home - Question - - - - ); -} - -export default NavBarBeforeLogin; \ No newline at end of file diff --git a/frontend/src/components/Navbar_deprecated.jsx b/frontend/src/components/Navbar_deprecated.jsx deleted file mode 100644 index 954ae91..0000000 --- a/frontend/src/components/Navbar_deprecated.jsx +++ /dev/null @@ -1,143 +0,0 @@ -import React, { useState } from 'react'; -import styled from 'styled-components'; - -const NavigationLeft = styled.div` - background-color: #ffffff; - height: 64px; - left: 318px; - position: absolute; - top: 0; - width: 1440px; -`; - -const FirstButton = styled.button` - color: #000000; - font-family: "Roboto", Helvetica; - font-size: 18px; - font-weight: 400; - height: 40px; - right: 11%; - position: absolute; - top: 12px; - width: 10%; - background-color: #ffffff; -`; - -const SecondButton = styled.button` - height: 40px; - right: 0.7%; - position: absolute; - top: 12px; - width: 10%; - background-color: rgb(0,0,0); - color: rgb(255,255,255); -`; - -const ThirdButton = styled.button` - color: #0044bb; - font-family: "Roboto", Helvetica; - font-size: 18px; - font-weight: 400; - height: 40px; - right: 11%; - position: absolute; - top: 12px; - width: 10%; - background-color: #ffffff; -`; - -const FourthButton = styled.button` - color: #0044bb; - font-family: "Roboto", Helvetica; - font-size: 18px; - font-weight: 400; - height: 40px; - right: 21%; - position: absolute; - top: 12px; - width: 10%; - background-color: #ffffff; -`; - -const LinkDiv = styled.div` - color: #000000; - font-family: "Roboto", Helvetica; - font-size: 18px; - font-weight: 400; - height: 22px; - left: 0; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; -`; - -const Links2 = styled.div` - height: 22px; - left: 156px; - position: absolute; - top: 21px; - width: 165px; -`; - -const NavFont = styled.a` - font-family: "Roboto", Helvetica; font-size: 18px; font-weight: 400; color: rgb(0, 0, 0); line-height: normal; - height: 22px; - left: 0; - letter-spacing: 0; - position: absolute; - top: 0; -`; - -const TextWrapper = styled.div` - color: #000000; - font-family: "Roboto", Helvetica; - font-size: 18px; - font-weight: 400; - height: 22px; - left: 80px; - letter-spacing: 0; - line-height: normal; - position: absolute; - top: 0; -`; - -const LogoImage = styled.img` - height: 58px; - left: 20px; - object-fit: cover; - position: absolute; - top: 0; - width: 101px; - cursor: pointer; -`; - -function NavBar(props) { - const [isDetailClicked, setDetailClicked] = useState(false); - - function detailHandler() { - setDetailClicked(!isDetailClicked); - } - - return ( - - {!isDetailClicked ? <> - {props.userName}님 - 고객센터 - : - <> - Back - Log Out - My Page - - } - - Home - Question - - - - ); -} - -export default NavBar; \ No newline at end of file diff --git a/frontend/src/components/index.js b/frontend/src/components/index.js index df54734..3cc52d7 100644 --- a/frontend/src/components/index.js +++ b/frontend/src/components/index.js @@ -1,6 +1,5 @@ export { default as Navbar } from './Navbar' export { default as Footer } from './Footer' -export { default as GuestRoute } from './GuestRoute' export { default as Login } from './Login' export { default as MainHeader } from './MainHeader' export { default as Notice } from './Notice' diff --git a/frontend/src/hooks/index.js b/frontend/src/hooks/index.js index 7339080..e80cb1f 100644 --- a/frontend/src/hooks/index.js +++ b/frontend/src/hooks/index.js @@ -1,3 +1,2 @@ -export { default as useAuth } from './useAuth' export { default as useProfileQuery } from './useProfileQuery' -export { default as useProblemQuery } from './useProblemQuery' \ No newline at end of file +export { default as useProblemQuery } from './useProblemQuery' diff --git a/frontend/src/hooks/useAuth.js b/frontend/src/hooks/useAuth.js deleted file mode 100644 index 026c85a..0000000 --- a/frontend/src/hooks/useAuth.js +++ /dev/null @@ -1,54 +0,0 @@ -import axios from 'axios' -import { isEmpty } from 'lodash-es' -import { useSnapshot } from 'valtio' -import { proxyWithComputed } from 'valtio/utils' - -function getAuthUser() { - const jwt = window.localStorage.getItem('jwtToken') - - if (!jwt) return {} - - return JSON.parse(atob(jwt)) -} - -const state = proxyWithComputed( - { - authUser: getAuthUser(), - }, - { - isAuth: (snap) => !isEmpty(snap.authUser), - } -) - -const actions = { - login: (user) => { - state.authUser = user - - window.localStorage.setItem('jwtToken', btoa(JSON.stringify(state.authUser))) - - axios.defaults.headers.Authorization = `Token ${state.authUser.token}` - }, - logout: () => { - state.authUser = {} - - window.localStorage.removeItem('jwtToken') - }, - checkAuth: () => { - const authUser = getAuthUser() - - if (!authUser || isEmpty(authUser)) { - actions.logout() - } - }, -} - -function useAuth() { - const snap = useSnapshot(state) - - return { - ...snap, - ...actions, - } -} - -export default useAuth \ No newline at end of file diff --git a/frontend/src/pages/AuthPage.jsx b/frontend/src/pages/AuthPage.jsx deleted file mode 100644 index 3f977c5..0000000 --- a/frontend/src/pages/AuthPage.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from 'react'; -import { useNavigate } from 'react-router-dom' -import axios from 'axios' -import { useAuth } from '../hooks' - -import styled from 'styled-components'; - -const AuthPageContainer = styled.div` - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - height: 100vh; - background-color: #f2f2f2; -`; - -const AuthButton = styled.button` - padding: 1rem 2rem; - font-size: 1rem; - background-color: #333; - color: #fff; - border: none; - border-radius: 4px; - cursor: pointer; - transition: background-color 0.3s ease; - - &:hover { - background-color: #000; - } -`; - -function AuthPage() { - const navigate = useNavigate() - const { login } = useAuth() - - - async function handleLogin() { - // Handle login with GitHub logic here - try { - // login with github logic - const { data } = '' // github와 통신 후 받아온 user 데이터 (github nickname) - // login(data.user) - navigate('/') - - } catch (error) { - - const { status, data } = error.response - if (status === 422) { - actions.setErrors(data.errors) - } - - } - } - - return ( - - Login with GitHub - - ); -} - -export default AuthPage; \ No newline at end of file diff --git a/frontend/src/pages/MainPageBeforeLogin.jsx b/frontend/src/pages/MainPageBeforeLogin.jsx deleted file mode 100644 index 90c583e..0000000 --- a/frontend/src/pages/MainPageBeforeLogin.jsx +++ /dev/null @@ -1,79 +0,0 @@ -import React from 'react'; -import styles from './MainPage.module.css'; -import FooterB from '../components/FooterB'; -import NavBarBeforeLogin from '../components/NavBarBeforeLogin'; - -function MainPageBeforeLogin(props) { - - /*페이지 이동 추가 부분*/ - const navigate = useNavigate(); - const goUrl = () => { - navigate('/login'); - }; - - return ( -
-
-
-
- -
Be Pro 설명
-

미래형 AI 코딩 교육 플랫폼

-
-
- - - -
-
-
-
-
-
- - - -
-
-
-
-
-
- -
-
-
-
-
-
Learn More
-
나에게 맞는 강의 추천
- -
-
-

자동 코드 분석 및 리팩토링

-
Learn More
-
-
-
-
ChatGPT를 이용한 코딩 교육
-
Learn More
-
- -
-
-

미래형 AI 코딩 교육 플랫폼 서비스 모음

-

BePro 의 주요 학습 서비스

-
- -
-
- -
-
- ); -} - -export default MainPageBeforeLogin; \ No newline at end of file diff --git a/frontend/src/pages/index.jsx b/frontend/src/pages/index.jsx index 5471074..a6e0102 100644 --- a/frontend/src/pages/index.jsx +++ b/frontend/src/pages/index.jsx @@ -1,7 +1,6 @@ export { default as Main } from './MainPage'; export { default as Produce } from './ProducePage'; export { default as Home } from './HomePage'; -export { default as Auth } from './AuthPage'; export { default as Profile } from './ProfilePage'; export { default as Problem } from './ProblemPage'; export { default as Notice } from './NoticePage';