GithubHelp home page GithubHelp logo

everyclass / everyclass Goto Github PK

View Code? Open in Web Editor NEW
15.0 6.0 5.0 590 KB

Personal curriculum schedule subscription & powerful information query tool for your college life at CSU

Home Page: https://everyclass.xyz

License: Mozilla Public License 2.0

python calendar csu curriculum college-life course-schedule classroom flask

everyclass's Issues

新的后端架构

目前我们的后端架构如下图所示:
image

基于前后端分离、为 PWA 做准备、以及降低模块耦合、采用更先进和现代化的架构的考虑,我们计划迁移到下图的架构:
image

该架构的优势在于:

  • 防止 everyclass-server 随着业务的增加而膨胀成一个巨大的单体
  • 降低各个模块的耦合,每个小服务可以更加快速的迭代,代码中出现严重错误时影响范围更小
  • entity 等子服务无需自行实现用户身份验证、限流等基础功能,全部交由网关实现,降低了小服务的开发成本
  • 未来的前后端分离时,客户端无需了解服务器端架构,使用单一的 HTTPS API 域名即可完成所有功能

目前该方案出于草案阶段,欢迎大家提出建议。

安卓端用户机制的接入

目前设置了隐私的用户都不能正常使用安卓端,接入用户机制之后他们可以通过输入密码的方式订阅。

依赖服务器端开放用户机制

课表隐私级别

  • 对不同的级别进行信息隐藏
  • 允许已登录用户设置自己的隐私级别

会员功能

  • 调查个人可以使用的收款接口
  • 接入收款平台
  • 会员体系
  • 优惠码功能

预计会员特权

高级查询

  • 模糊搜索
  • 空教室查询

功能

  • 手动更新自己的课表
  • 上帝视角:甘特图
  • 修正自己的上课时间地点
  • ics 自定义提醒时间

特权

  • 隐身访问

高级搜索功能付费

新版每课即将推出高级搜索功能,可以通过各种拼音简写的方式来搜索。每课已经服务中南学子两年,而收入方面一致入不敷出,为了平衡收入与支出,高级搜索功能(可能)需要付费。

目前计划会员制或者按次数收费。

允许用户修正自己的上课时间、地点

有的课程可能会变更上课地点,但是教务系统中的信息并不会修改。为了解决这一问题,我们可以建立一个“上课地点修补”表,保存对于单个用户的地点修改记录,来覆盖从教务爬取的数据。

上帝视角-学期甘特图

每课的一项新功能为“上帝视角”,它包括两个子功能:

  • 学期上帝视角:在学生(或老师)的学期课表页增加入口,点击进入后可以查看本学期本人的课程甘特图。它使得用户可以俯瞰整个学期的课程时间分布,便于用户查看空闲周和忙碌周以调整自己的其他事情。
  • 周次上帝视角:在学生(或老师)的学期课表页增加入口,点击进入后选择周次,就可以通过棋盘格子的形式展现本周的课表与空闲时间(类似于超级课程表或课程格子 app 中的效果)

本 issue 期望实现的是“学期上帝视角”。

原型&效果图

入口

image

上帝视角页

iPad Pro

注意事项:

  • 应确保在电脑和手机端都有良好的展现,尤其是手机端
  • 选择前端插件的时候需要考虑和现有 JS 的兼容性

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.