GithubHelp home page GithubHelp logo

team7's Introduction

Team7

出席管理システム Team7の概要

  • 鍵導出関数(Argon2)と、暗号化(AES)により安全な通信/処理
  • ネットワークが一時的に使えなくても、カードリーダ内部のデータベースで処理を行える
  • 定期的にサーバとカードリーダ内のデータの同期
  • ユーザ名とパスワードを使って個人のPCからアクセスできる
  • 講義情報の変更も ブラウザ / クライアントアプリ で簡単にできる
  • .csv / .xlsx フォーマットで出力可能
  • WebAPI鍵の認証により不正な出席情報の追加を防ぐ

使い方

最新版のPythonとNode.JS、nginxをダウンロードし、インストールしてください
-> Python - Download
-> Node.js - Download
-> nginx - Download


[ Team7/Server ]
npm installでnodejs-moduleをインストールし、node app.jsでServer/app.jsを実行します。
Windows向けですが、起動までの処理を一括で行うバッチファイル Server/server_start.batがあります。
バッチファイルの実行方法は以下の通りです。

cd Server
./server_start.bat

現在 MySQLのデータベースは、プライベートレポジトリで管理しています。

nginxのnginx.confファイルを編集または、nginx/nginx.confで置き換えてください。
nodeはlocalhost:3000、nginxはlocalhost:8080からnodeへリバースプロキシを行っています。


[ Team7/CardReader ]
初めて実行する場合は、pip install -r requirements.txtで実行に必要なライブラリをインストールしてください。
実行方法は、以下の通りです。

cd CardReader
python main.py

WebAPI_Key.txtには、管理者に与えられたWebAPI_Keyの値をコピーして貼り付けてください。
現在 カードリーダ内部のデータは、プライベートレポジトリで管理しています。


[ Team7/Electron ]
npm installでnodejs-moduleをインストールし、npm startでElectron/main.jsを実行します。

Windows向けですが、起動までの処理を一括で行うバッチファイル Electron/electron_start.batがあります。
バッチファイルの実行方法は以下の通りです。

cd Electron
./electron_start.bat

Windows, Linux, MacOS向けにアプリケーション化するバッチファイルもあります。
バッチファイルの実行方法は以下の通りです。

cd Electron
./electron_build.bat

ディレクトリ構造 (簡易)

Team7  
 ├ CardReader (カードリーダ)  
 │ └ main.py  
 │ └ main_window.py  
 │   └ generator  
 │     └ idm_csv_gen.py  
 │     └ attend_csv_gen.py  
 │     └ csv_join.py  
 │
 ├ Electron   (クライアントアプリ)  
 │ └ main.js  
 │
 ├ Nginx  
 │ └ nginx.conf  
 │
 ├ Server    (サーバ)  
 │ └ app.js    (ルーティング)  
 │ └ routes  
 │   └ main.js     (メイン処理)  
 │   └ api.js      (webapi処理モジュール)  
 │   └ database.js (データベースモジュール)  
 │   └ cryp.js     (暗号化モジュール)  
 │   └ output.js   (csv, xlsx 処理モジュール)  
 │ └ public (表示用ファイル)  
 │   └ css  
 │   └ img  
 │   └ js  
 │ └ view   (ejs レンダリングファイル)  
  

team7's People

Contributors

fukuda-b avatar b21p007 avatar b21p011 avatar wadaken43 avatar

Stargazers

あむ avatar

Watchers

 avatar

team7's Issues

チームの作成について

I think it's nonsense that the repositories created as part of a university course are open to the public in the first place.
I suggest that you create it privately.

pyqt5について

PyQt5 is licensed under the GPL, and there is another Qt library for Python, PySide2, licensed under the LGPL. I thought PySide2 was better because it has almost the same functionality and is an official Qt something.

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.