github.com/SpecBox/specbox-api
main / published Jan 5, 2025 / repository
Backend API for SpecBox a.k.a. WebSpecimanager / 昆虫標本管理サービスWebSpecimanagerの後継プロジェクトSpecBoxのバックエンドAPI
specbox_api
開発
docker-composeによる開発環境構築
テストもDockerコンテナ内で手軽に実行できるように、テスト用のdocker-composeのserviceを用意しています。 また、開発サーバとテストでDBの状態が共有されないように、DBについても開発サーバ用とテスト用のserviceを分けています。
開発サーバ用service
postgresとluckyのコンテナが起動し、lucky devが実行されてluckyの開発サーバが起動します。
- 開発サーバの立ち上げ:
docker-compose up luckyまたは./server-docker-fore.sh - 開発サーバをバックグランドで立ち上げ:
docker-compose up -d luckまたは./server-docker-daemon.sh
テスト用service
テスト用postgresとテスト用luckyのコンテナが起動し、crystal specが実行されます。
- テストの実行:
docker-compose up lucky_testまたは./test-docker.sh
docker-compose内のluckyに対するタスク実行
./dc-lucky.sh [options]
luckyコマンドの各タスクをdocker-compose内のluckyに対して実行します。 事前に前述のコマンドによる開発サーバの立ち上げが必要です。
例
./dc-lucky.sh --help
This is a project written using Lucky. Enjoy!
Learning Lucky
Lucky uses the Crystal programming language. You can learn about Lucky from the Lucky Guides.
API
- Api
- ApiAction
Include modules and add methods that are for all API requests
- AppDatabase
- AppServer
- AuthUser
ユーザーモデル Djangoで生成されたユーザーモデルをそのまま利用
- AuthUserQuery
- Base64Image
- BaseEmail
Learn about sending emails https://luckyframework.org/guides/emails/sending-emails-with-carbon
- BaseModel
- BaseSerializer
- CollectPoint
- CollectPointQuery
- CollectPointSerializer
採集地点のシリアライザ
- CollectPointsTour
採集地点と採集行の多対多アソシエーションを作るための中間テーブル用モデル
- CollectPointsTourQuery
- CollectionSetting
コレクション設定モデル
- CollectionSettingQuery
- CollectionSettingSerializer
コレクション設定のシリアライザ
- Countries
- CustomTaxon
ユーザー定義のカスタム分類情報モデル
- CustomTaxonQuery
- DefaultTaxon
全ユーザーに共有されるデフォルト分類情報
- DefaultTaxonQuery
- DeleteAuthUser
ユーザーの削除オペレーション
- DeleteCollectPoint
- DeleteCollectionSetting
コレクション設定の削除オペレーション
- DeleteCustomTaxon
- DeleteDefaultTaxon
- DeleteSpecimen
- DeleteTaxon
- DeleteTour
採集行の削除オペレーション
- ErrorSerializer
This is the default error serializer generated by Lucky.
- Errors
- Home
- SaveAuthUser
ユーザーの保存オペレーション
- SaveCollectPoint
- SaveCollectPointsTour
- SaveCollectionSetting
コレクション設定の保存オペレーション
- SaveCustomTaxon
- SaveDefaultTaxon
- SaveSpecimen
- SaveTaxon
- SaveTour
採集行の保存オペレーション
- SerializedCollectPointForBulkUpdate
- SerializedCollectPointJsonForBulkUpdate
JSONから採集地点へのシリアライズ用クラス
- SerializedCollectionSettingForBulkUpdate
- SerializedCollectionSettingJsonForBulkUpdate
JSONからコレクション設定へのシリアライズ用クラス
- SerializedSpecimenForBulkUpdate
- SerializedSpecimenJsonForBulkUpdate
JSONから標本へのシリアライズ用クラス
- SerializedTaxonForBulkUpdate
- SerializedTaxonJsonForBulkUpdate
JSONから分類情報へのシリアライズ用クラス
- SerializedTourForBulkUpdate
- SerializedTourJsonForBulkUpdate
JSONから採集行へのシリアライズ用クラス
- SimpleDateConverter
- Specimen
- SpecimenLabel
- SpecimenLabelLabelSpecimen
標本ラベルと標本の多対多アソシエーションを作るための中間テーブル用モデル
- SpecimenPercentageCollectPointQuery
- SpecimenPercentageCollectPointSerializer
標本の採集地点別集計シリアライザ
- SpecimenPercentageTaxonQuery
- SpecimenPercentageTaxonSerializer
標本の分類群別集計シリアライザ
- SpecimenQuery
- SpecimenSerializer
標本のシリアライザ
- Specimens
- Taxon
- TaxonQuery
- TaxonSerializer
分類情報のシリアライザ
- Tour
採集行モデル
- TourQuery
- TourSerializer
採集行のシリアライザ
- ValidationRegex