Skip to content

facade-team/sogang-register-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏫 Sogang-Register Server

서강대학교 개설교과목 정보 조회 서비스의 백엔드 서버 입니다.

항상 시간표를 짜기 전, 수강신청을 하기 전 들어가는 '개설교과목정보 사이트'를 사용하며 느꼈던 문제점들을 조금이나마 개선하기 위해 시작하게 된 서비스입니다.

여러 REST API를 제공하고 있습니다.

🔧 Tech Stack

Infra

Git Docker

REST API

Python Flask Swagger Linux AWS EC2 JWT

Database

MySQL AWS RDS

Crawler

Python Pandas Selenium BeautifulSoup

🔧 Proejct Setup / and Organization

Project structure

functional structure 구조를 사용하여 어떤 동작을 하는지에 따라 파일 구조를 구분하였습니다.

We used functional structure to organize the files of the project by what they do.

.
├── app
│   ├── __init__.py
│   ├── main
│   │   ├── config.py
│   │   ├── controller
│   │   │   └── __init__.py
│   │   ├── __init__.py
│   │   ├── model
│   │   │   └── __init__.py
│   │   └── service
│   │       └── __init__.py
│   └── test
│       └── __init__.py
├── manage.py
└── requirements.txt

Install required packages

사용한 패키지들은 requirements.txt 에 선언되어 있습니다.

pip install -r requirements.txt

Config settings

here is an example:

import os

host_name = 'yourhostname.com'
username = "name"
password = "password"
database_name = "your database name"

base_dir = os.path.abspath(os.path.dirname(__file__))

class Config(object):
  SECRET_KEY = 'your secret key'
  algo = 'HS256'
  DEBUG = False
  
class DevelopmentConfig(Config):
  SQLALCHEMY_DATABASE_URI = 'your databae url'
  DEBUG = True
  SQLALCHEMY_TRACK_MODIFICATIONS = False

class ProductionConfig(Config):
  SQLALCHEMY_DATABASE_URI = 'your database url'
  DEBUG = False
  SQLALCHEMY_TRACK_MODIFICATIONS = False

config_by_name = dict(
  dev=DevelopmentConfig,
  prod=ProductionConfig,
) 

key = Config.SECRET_KEY
algorithm = Config.algo

mailConfig = ['youremail@email.com','email-password']

Build

# $(pwd) = project root directory
docker build -t yourdockerusername/dockerfilename .

Run

docker run -dp 5000:5000 yourdockerusername/dockerfilename

📃 API List

Auth

  • Create account
  • Request Secret Code to User Email
  • Confirm Secret Code
  • Login
  • Logout
  • Search User Email
  • Password Reset
  • Password Change
  • User withdrawal

User

  • Get User Favorite Subjects
  • Register Favorite subjects
  • Get User completed subjects
  • Register completed subjects
  • Delete Favorite Subjects
  • Delete Completed Subjects
  • Send report(Q&A) to our team

Search

  • Search all Subjects
  • Search all Department at Selected Semester
  • Search all Subjects by Search Options
  • Search Updated Time

📞 Contact us

김승우 : seungwookim99

김현재 : itsnowkim

About

sogang-register rest api server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages