GithubHelp home page GithubHelp logo

foundation-backend's Introduction

概要

このプロジェクトは、学生が管理することを主体においた、大学生活をより豊かで効率的にするソーシャルプラットフォームである。

Quick start

サーバー起動
make run
サーバー停止
make down

APIドキュメント

名称 URL
Swagger Editor http://localhost:8001/
Swagger UI http://localhost:8002/
Swagger API mock http://localhost:8003/~~

概要

このプロジェクトは、学生が管理することを主体においた、大学生活をより豊かで効率的にするソーシャルプラットフォームである。

要件一覧

1.すべてのユーザーは基本的に匿名及び実名を意図的に選択できる

2.すべてのユーザーは学年、クラスや専攻など、自分自身の所属を証明する手段を持つ

3.特定のドメインの人間しか登録することは不可能

4.ユーザーはそれぞれ6段階の認証レベルが振り分けられており、デフォルトは、

  • ゲスト:0

  • 学校関連者:1

  • 学生:2

とする。

5.3~5以上になると、

  • 3以上:クラスのメンバーや、時間割を編集する権限

  • 4以上:時間割に利用する科目を編集する権限 3人まで他のユーザーを認証レベル3として保証することができる。

  • 5以上:管理者と同等の権限を持つ 悪質なユーザーのBANや、匿名の剥奪をする権利 3人まで他のユーザーを認証レベル4として保証することができる。

というようにアクセスできる領域が増える。

6.どの学生がどのクラスにいるなどの情報は、必ず1以上のユーザーしかアクセスできない。

7.基本的なレイアウトはダッシュボード形式になっており、その内容は学生やそのコミュニティーが作成し、管理者が承諾したらマージする。

8.初期で入っているのはデータベース管理のフォームと、時間割・イベント・自習 談話室を確認できるダッシュボードと、SNSには必ずあると言っていいPostやプロフィールなどの機能と、VOSの代替となり得る存在、落とし物用の掲示板である。

これらはslack等で事足りるものであるが、重要なのはこれらの情報がデータベースの情報をもとに、能動的に情報が整理され、かつ学生側がそれらに自由にアクセスできることにある。

技術選定

アプリケーション

Node.js Express

データベース

MongoDB

インフラ

データベースサーバー以外はすべてDockerコンポーネントにし、管理者の自宅にあるサーバーにデプロイ

データベースサーバーのみAWS Atlasで管理する

foundation-backend's People

Contributors

cirrus-github avatar ik0326 avatar joesandao avatar

Stargazers

 avatar  avatar

foundation-backend's Issues

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.