Coder Social home page Coder Social logo

ianchen-tw / plus Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 4.27 MB

API server for students

Home Page: https://ianre657.github.io/plus/docs/intro

License: MIT License

Python 95.78% Makefile 0.38% Dockerfile 2.18% Shell 1.05% Mako 0.62%
api-server fastapi nctu

plus's People

Contributors

ianchen-tw avatar yushaosu avatar

Stargazers

 avatar  avatar

Watchers

 avatar

plus's Issues

api-server alembic/versions file not found

$ docker-compose up --build

api-server_1 | Checking for script in /app/prestart.sh
api-server_1 | Running script /app/prestart.sh
api-server_1 | INFO:main:Initializing service
api-server_1 | INFO:main:Starting call to 'main.init', this is the 1st time calling it.
api-server_1 | INFO:main:Service finished initializing
api-server_1 | INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
api-server_1 | INFO [alembic.runtime.migration] Will assume transactional DDL.
.
.
.
api-server_1 | FileNotFoundError: [Errno 2] No such file or directory: '/app/alembic/versions'

api-server會噴alembic的錯 然後跑不起來
db, pgadmin, traefik都正常

Build Infra

  • formatter
  • reverse proxy with traefik
  • CI-flow for docker-compse build
  • CI for build docs

Database related tasks

  • add code to interact with the database
  • migrate from SQLite to PostgreSQL
  • create scripts to add fake data on startup
    • insert data while testing
  • add tools for migration

Build Models (db)

  • User
  • Course
  • College
  • Department
  • PermanentCourse
  • Comment
    should we rename this table to Review/Feedback ?
  • CommentReply
    should we rename this to CourseFeedbackComments?

Github Actions

Report

  • Generate code coverage report in the master branch

Cache

  • Add Cache to speedup actions

Write Docs

  • create document site
  • brief intro.

API

wip

Getting Started

  • installation
  • development flow
  • how to contribute
  • code of conduct

Advance UserGuide

  • services overview (docker services)
  • docker and docker-compose
  • database migration
  • architecture overview

Testing

  • wip

decentralize test code

這個東西不是一個工具集,而是伺服器
比較少沒有發布時不想包含 �test 的情況
為了開發方便,不需要把所有測試集中在同一個 test 資料夾下

New course schema design

讓 schema 可以兼容以下的課程資料輸入格式

Example:

[
 {'info': {'course_number': '5222',
           'course_type': '選修',
           'credit': '3.00',
           'department': {'en_name': 'Institute of Network Engineering',
                          'zh_name': '網路工程研究所'},
           'en_name': 'Topics on Database Systems',
           'hours': '3.00',
           'permanent_code': 'IOC5131',
           'reg_limit': '60',
           'reg_num': '11',
           'schedules': [{'classroom': 'ED202', 'time': '1B4EF'}],
           'semester': {'term': '1', 'year': 108},
           'teach_lang': 'zh-tw',
           'teacher': '彭文志',
           'zh_name': '資料庫系統專題'},
  'tags': []},
 {'info': {'course_number': '1591',
           'course_type': '必修',
           'credit': '2.00',
           'department': {'en_name': 'Department of Foreign Languages and '
                                     'Literatures',
                          'zh_name': '外國語文學系'},
           'en_name': 'Communicative Skills Workshop(3)',
           'hours': '2.00',
           'permanent_code': 'DFL1122',
           'reg_limit': '18',
           'reg_num': 'unavailable',
           'schedules': [{'classroom': 'F206', 'time': '5CD'}],
           'semester': {'term': '1', 'year': 109},
           'teach_lang': 'en-us',
           'teacher': '黃伊岑',
           'zh_name': '傳達技巧工作坊(三)'},
  'tags': []},
 {'info': {'course_number': '5241',
           'course_type': '選修',
           'credit': '3.00',
           'department': {'en_name': 'Graduate Program of College of Computer '
                                     'Science',
                          'zh_name': '資訊學院博士班'},
           'en_name': 'Selected Topics in Visual Recognition using Deep '
                      'Learning',
           'hours': '3.00',
           'permanent_code': 'IOC5008',
           'reg_limit': '60',
           'reg_num': 'unavailable',
           'schedules': [{'classroom': 'ED102', 'time': '4CDX'}],
           'semester': {'term': '1', 'year': 109},
           'teach_lang': 'en-us',
           'teacher': '林彥宇',
           'zh_name': '基於深度學習之視覺辨識專論(英文授課)'},
  'tags': []},
]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.