SDS作成、保管、更新代行サービス

概要

SDS(Safety Data Sheet)は、化学物質の安全性情報を記載した書類で、法令により事業者に作成・保管が義務付けられています。しかし、SDS作成は専門知識が必要で手間がかかるため、多くの中小企業が苦労しています。

本サービスは、SDS作成、保管、更新を代行することで、企業の負担を軽減し、法令順守を支援することを目的としています。

ファイル・フォルダ構成

- src/
  - api/
    - sds.py
  - auth/
    - __init__.py
    - auth.py
  - db/
    - __init__.py
    - models.py
  - static/
    - css/
    - img/
    - js/
  - templates/
    - base.html
    - dashboard.html
    - login.html
    - register.html
    - sds_detail.html
    - sds_list.html
    - sds_update.html
  - utils/
    - __init__.py
    - pdf_generator.py
  - app.py
- tests/
  - __init__.py
  - test_api.py
  - test_auth.py
  - test_pdf_generator.py
- requirements.txt
- README.md

機能要件

ユーザー認証

  • ユーザー登録/ログイン/ログアウト
  • パスワードリセット機能

SDS管理

  • SDS作成
    • 化学物質情報の入力
    • PDF形式のSDSファイル生成
  • SDS一覧表示
  • SDS詳細表示
  • SDS更新
  • SDS削除

企業情報管理

  • 企業情報の登録/更新
  • 複数の企業アカウントの管理

通知機能

  • SDS有効期限の通知
  • SDS更新情報の通知

非機能要件

アーキテクチャ

  • フロントエンド: React.js
  • バックエンド: Flask
  • データベース: PostgreSQL
  • ドキュメント管理: AWS S3
  • 通知機能: AWS SNS

開発環境

  • 言語: Python 3.9
  • フレームワーク: Flask 2.0
  • ORM: SQLAlchemy
  • テスティングフレームワーク: pytest

インフラ

  • クラウドプラットフォーム: AWS
  • アプリケーションホスティング: AWS EC2
  • データベースホスティング: AWS RDS
  • ドキュメントストレージ: AWS S3
  • 通知サービス: AWS SNS

必要な画面

  • ログイン画面
  • ユーザー登録画面
  • パスワードリセット画面
  • ダッシュボード画面
    • SDS一覧表示
    • 企業情報表示
  • SDS作成画面
  • SDS詳細画面
  • SDS更新画面

必要なAPI

ユーザー認証API

  • ユーザー登録
  • ログイン
  • ログアウト
  • パスワードリセット

SDS管理API

  • SDS作成
  • SDS一覧取得
  • SDS詳細取得
  • SDS更新
  • SDS削除

企業情報管理API

  • 企業情報登録
  • 企業情報更新

通知API

  • SDS有効期限通知
  • SDS更新通知

必要なDB構成

Users

  • id
  • email
  • password
  • company_id

Companies

  • id
  • name
  • address
  • contact_person
  • contact_email

SDSs

  • id
  • company_id
  • chemical_name
  • cas_number
  • sds_file_path
  • expiration_date
  • created_at
  • updated_at