From e3a2b09ef4bbc36d4c9bd3ce9a63b09cb8b97cf2 Mon Sep 17 00:00:00 2001 From: Jean Jacques Avril Date: Tue, 31 Dec 2024 11:37:30 +0000 Subject: [PATCH] added devcontainer with all tools for frontent (deno, nextjs) and backend (dart, go) --- .devcontainer/Dockerfile | 64 ++++++++++ .devcontainer/devcontainer.json | 36 ++++++ .devcontainer/setup.sh | 34 ++++++ README.md | 53 ++++++++- _common/db_client/pubspec.lock | 110 ++++++++++-------- {backend_dart => backend-dart}/.gitignore | 0 {backend_dart => backend-dart}/README.md | 0 .../analysis_options.yaml | 0 {backend_dart => backend-dart}/config.yaml | 0 .../application/usecases/register_user.dart | 0 .../lib/backend_dart.dart | 0 .../lib/domain/entities/user.dart | 0 .../domain/repositories/user_repository.dart | 0 .../lib/infrastructure/config/config.dart | 0 .../infrastructure/persistence/db/client.dart | 0 .../infrastructure/persistence/db/model.dart | 0 .../infrastructure/persistence/db/prisma.dart | 0 .../persistence/postgres_user_repository.dart | 0 .../lib/interfaces/http/server.dart | 0 {backend_dart => backend-dart}/pubspec.lock | 14 +-- {backend_dart => backend-dart}/pubspec.yaml | 0 .../test/backend_dart_test.dart | 0 backend_dart/bin/backend_dart.dart | 11 -- docs/presentation/fp_dart-demo/pubspec.lock | 82 ++++++------- 24 files changed, 288 insertions(+), 116 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/setup.sh rename {backend_dart => backend-dart}/.gitignore (100%) rename {backend_dart => backend-dart}/README.md (100%) rename {backend_dart => backend-dart}/analysis_options.yaml (100%) rename {backend_dart => backend-dart}/config.yaml (100%) rename {backend_dart => backend-dart}/lib/application/usecases/register_user.dart (100%) rename {backend_dart => backend-dart}/lib/backend_dart.dart (100%) rename {backend_dart => backend-dart}/lib/domain/entities/user.dart (100%) rename {backend_dart => backend-dart}/lib/domain/repositories/user_repository.dart (100%) rename {backend_dart => backend-dart}/lib/infrastructure/config/config.dart (100%) rename {backend_dart => backend-dart}/lib/infrastructure/persistence/db/client.dart (100%) rename {backend_dart => backend-dart}/lib/infrastructure/persistence/db/model.dart (100%) rename {backend_dart => backend-dart}/lib/infrastructure/persistence/db/prisma.dart (100%) rename {backend_dart => backend-dart}/lib/infrastructure/persistence/postgres_user_repository.dart (100%) rename {backend_dart => backend-dart}/lib/interfaces/http/server.dart (100%) rename {backend_dart => backend-dart}/pubspec.lock (97%) rename {backend_dart => backend-dart}/pubspec.yaml (100%) rename {backend_dart => backend-dart}/test/backend_dart_test.dart (100%) delete mode 100644 backend_dart/bin/backend_dart.dart diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..94c822b --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,64 @@ +# Verwende das TypeScript-Node-Image als Basis +FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-20 AS base +ARG DART_VERSION=3.6.0-1 +ARG GO_VERSION=1.21.0 + +# Definiere den Benutzername als Argument (Standard: vscode) +ARG USERNAME=vscode +ARG USER_UID=1001 +ARG USER_GID=1001 + +# Installiere Dart +RUN apt-get update && apt-get install -y wget gnupg \ + && wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor > /usr/share/keyrings/dart.gpg \ + && echo "deb [signed-by=/usr/share/keyrings/dart.gpg] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main" > /etc/apt/sources.list.d/dart_stable.list \ + && apt-get update && apt-get install -y dart=${DART_VERSION} + +# Erstelle den Benutzer dynamisch, falls er nicht existiert +RUN if ! getent group $USER_GID > /dev/null; then groupadd --gid $USER_GID $USERNAME; fi \ + && if ! id -u $USERNAME > /dev/null 2>&1; then useradd --uid $USER_UID --gid $USER_GID -m $USERNAME; fi \ + && echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USERNAME \ + && chmod 0440 /etc/sudoers.d/$USERNAME + + +# Installiere Go +RUN wget https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz \ + && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz \ + && rm go${GO_VERSION}.linux-amd64.tar.gz \ + && echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile + +# Installiere Fish-Shell und Oh My Fish (OMF) +RUN apt-get update && apt-get install -y fish git curl \ + && curl -L https://get.oh-my.fish | fish + +# Setze Fish als Standardshell +RUN chsh -s /usr/bin/fish ${USERNAME} || echo "User ${USERNAME} not found; skipping chsh" + + +# Installiere das bobthefish Theme und Plugins +RUN fish -c "omf install bobthefish" \ + && fish -c "omf install bang-bang pj z" + +# Optional: Konfiguration von bobthefish +RUN echo "set -g theme_nerd_fonts yes" >> ~/.config/fish/config.fish \ + && echo "set -g theme_display_git_untracked_files no" >> ~/.config/fish/config.fish + + +# Installiere Deno +ENV DENO_INSTALL=/deno +RUN mkdir -p /deno \ + && curl -fsSL https://deno.land/x/install/install.sh | sh \ + && chown -R vscode /deno + +ENV PATH=${DENO_INSTALL}/bin:/usr/local/go/bin:${PATH} \ + DENO_DIR=${DENO_INSTALL}/.cache/deno + +RUN groupadd -r docker && usermod -aG docker $USERNAME +# Definiere den Arbeitsbereich +WORKDIR /workspace + +# Zusätzliche Pakete installieren +RUN apt-get update && apt-get install -y protobuf-compiler + +# Ports für React und Dart Services +EXPOSE 3000 8080 4000 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..64c3b1c --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,36 @@ +{ + "name": "ws24-kp-avril", + "build": { + "dockerfile": "Dockerfile", + "context": "..", + "args": { + "USERNAME": "vscode", + "USER_UID": "1001", + "USER_GID": "1001" + } + }, + "settings": { + "terminal.integrated.defaultProfile.linux": "fish" + }, + "extensions": [ + "ms-azuretools.vscode-docker", + + "ms-vscode.vscode-typescript-next", + "dart-code.dart-code", + "golang.go", + "denoland.vscode-deno" + ], + "features": { + //"docker-in-docker": "latest", + "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {} + }, + "runArgs": ["--add-host=host.docker.internal:host-gateway"], + "postCreateCommand": "./.devcontainer/setup.sh", + "remoteUser": "vscode", + "updateRemoteUserUID": true, + "mounts": [ + "type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock", + "source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh,target=/home/vscode/.ssh,type=bind,consistency=cached" + //"source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind,consistency=cached" + ] +} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100644 index 0000000..225c3f0 --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Frontend setup +if [ -d "frontend-react" ]; then + echo "Setting up frontend-react..." + cd frontend-react + #npm install + deno install --allow-scripts + cd .. +else + echo "frontend-react directory not found, skipping..." +fi + +# Dart backend setup +if [ -d "backend_dart" ]; then + echo "Setting up backend_dart..." + cd backend_dart + dart pub get + cd .. +else + echo "backend_dart directory not found, skipping..." +fi + +# Go backend setup +if [ -d "backend-go" ]; then + echo "Setting up backend-go..." + cd backend-go + go mod tidy + cd .. +else + echo "backend-go directory not found, skipping..." +fi + +#chmod 600 /home/vscode/.ssh/* # && git config --global user.name 'Jean Avril' && git config --global user.email 'jean@jeanavril.com' \ No newline at end of file diff --git a/README.md b/README.md index c7ef0be..b9f1a61 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,14 @@ # Time Tracking and Management System ## Overview -The Time Tracking and Management System is a comprehensive web application designed to manage and track work hours efficiently. The system showcases a backend developed in both Go and Dart with functional programming principles, and a React frontend to provide an interactive user experience. + +The Time Tracking and Management System is a comprehensive web application +designed to manage and track work hours efficiently. The system showcases a +backend developed in both Go and Dart with functional programming principles, +and a React frontend to provide an interactive user experience. ## Features + - User management: Registration, login, profile updates. - Time tracking: Start/stop time tracking, manual entry, break management. - Project management: Create and manage projects. @@ -12,9 +17,13 @@ The Time Tracking and Management System is a comprehensive web application desig - Role-based access control (RBAC) with a permission system. ## Architecture -The project follows Domain-Driven Design (DDD) and Clean Architecture principles to ensure a modular, maintainable, and scalable codebase. The system is structured into well-defined layers with separation of concerns. + +The project follows Domain-Driven Design (DDD) and Clean Architecture principles +to ensure a modular, maintainable, and scalable codebase. The system is +structured into well-defined layers with separation of concerns. ### Technology Stack + - **Frontend**: React, Axios/Fetch API, WebSockets, Styled Components. - **Backend (Go)**: - GORM for ORM, `go-redis` for caching. @@ -22,17 +31,21 @@ The project follows Domain-Driven Design (DDD) and Clean Architecture principles - **Backend (Dart)**: - `drift` or `aqueduct` for ORM, `redis_client` for Redis integration. - `shelf_web_socket` for WebSocket handling. -- **Databases**: PostgreSQL for primary data storage, Redis for caching and real-time updates. +- **Databases**: PostgreSQL for primary data storage, Redis for caching and + real-time updates. ## Directory Structure + - `backend-go/`: Go backend implementation. - `backend-dart/`: Dart backend implementation. - `frontend-react/`: React frontend implementation. -- `docs/`: Documentation files, including LaTeX source for specifications and design diagrams. +- `docs/`: Documentation files, including LaTeX source for specifications and + design diagrams. ## Getting Started ### Prerequisites + - Node.js (for the React frontend) - Go (for the Go backend) - Dart (for the Dart backend) @@ -46,6 +59,34 @@ The project follows Domain-Driven Design (DDD) and Clean Architecture principles cd ws24-kp-avril ``` - #### Requirements -- PNPM: npm install -g pnpm \ No newline at end of file + +- PNPM: npm install -g pnpm + +### Run Software + +You can start developing and hacking by starting the dev container. Besides that +you can also install the dev environment on your host system. Make sure versions +do match. + +## Frontend + +```bash +cd frontend-react +deno install # devcontainer does this for you +deno run dev # starts web ui on port 3000 +``` + +## Go-Backend + +```bash +cd backend-go +go run cmd/actatempus/main.go # Backend on port 8080 +``` + +## Dart-Backend + +```bash +cd backend-dart +dart run bin/backend_dart.dart # Backend on port 8080 +``` diff --git a/_common/db_client/pubspec.lock b/_common/db_client/pubspec.lock index 12e07c9..4b66dbd 100644 --- a/_common/db_client/pubspec.lock +++ b/_common/db_client/pubspec.lock @@ -5,23 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" + sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" url: "https://pub.dev" source: hosted - version: "73.0.0" + version: "76.0.0" _macros: dependency: transitive description: dart source: sdk - version: "0.3.2" + version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" + sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" url: "https://pub.dev" source: hosted - version: "6.8.0" + version: "6.11.0" args: dependency: transitive description: @@ -58,10 +58,10 @@ packages: dependency: transitive description: name: built_value - sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb + sha256: "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2" url: "https://pub.dev" source: hosted - version: "8.9.2" + version: "8.9.3" clock: dependency: transitive description: @@ -98,10 +98,10 @@ packages: dependency: transitive description: name: coverage - sha256: "4b03e11f6d5b8f6e5bb5e9f7889a56fe6c5cbe942da5378ea4d4d7f73ef9dfe5" + sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" crypto: dependency: transitive description: @@ -122,10 +122,10 @@ packages: dependency: transitive description: name: decimal - sha256: "4140a688f9e443e2f4de3a1162387bf25e1ac6d51e24c9da263f245210f41440" + sha256: da8f65df568345f2738cc8b0de74971c86d2d93ce5fc8c4ec094f6b7c5d48eb5 url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.0" file: dependency: transitive description: @@ -158,14 +158,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" + http: + dependency: transitive + description: + name: http + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 + url: "https://pub.dev" + source: hosted + version: "1.2.2" http_multi_server: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: @@ -178,18 +186,18 @@ packages: dependency: transitive description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "00f33b908655e606b86d2ade4710a231b802eec6f11e87e4ea3783fd72077a50" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.1" io: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: @@ -226,18 +234,18 @@ packages: dependency: transitive description: name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" url: "https://pub.dev" source: hosted - version: "0.1.2-main.4" + version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" meta: dependency: transitive description: @@ -274,10 +282,10 @@ packages: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" path: dependency: transitive description: @@ -298,10 +306,10 @@ packages: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" rational: dependency: transitive description: @@ -354,10 +362,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.0.1" source_map_stack_trace: dependency: transitive description: @@ -370,74 +378,74 @@ packages: dependency: transitive description: name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" url: "https://pub.dev" source: hosted - version: "0.10.12" + version: "0.10.13" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "4ac0537115a24d772c408a2520ecd0abb99bca2ea9c4e634ccbdbfae64fe17ec" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" string_scanner: dependency: transitive description: name: string_scanner - sha256: "0bd04f5bb74fcd6ff0606a888a30e917af9bd52820b178eaa464beb11dca84b6" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test: dependency: "direct dev" description: name: test - sha256: "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f" + sha256: "8391fbe68d520daf2314121764d38e37f934c02fd7301ad18307bd93bd6b725d" url: "https://pub.dev" source: hosted - version: "1.25.8" + version: "1.25.14" test_api: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.4" test_core: dependency: transitive description: name: test_core - sha256: "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d" + sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "0.6.8" typed_data: dependency: transitive description: @@ -450,18 +458,18 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.0.0" watcher: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web: dependency: transitive description: @@ -506,9 +514,9 @@ packages: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: dart: ">=3.5.4 <4.0.0" diff --git a/backend_dart/.gitignore b/backend-dart/.gitignore similarity index 100% rename from backend_dart/.gitignore rename to backend-dart/.gitignore diff --git a/backend_dart/README.md b/backend-dart/README.md similarity index 100% rename from backend_dart/README.md rename to backend-dart/README.md diff --git a/backend_dart/analysis_options.yaml b/backend-dart/analysis_options.yaml similarity index 100% rename from backend_dart/analysis_options.yaml rename to backend-dart/analysis_options.yaml diff --git a/backend_dart/config.yaml b/backend-dart/config.yaml similarity index 100% rename from backend_dart/config.yaml rename to backend-dart/config.yaml diff --git a/backend_dart/lib/application/usecases/register_user.dart b/backend-dart/lib/application/usecases/register_user.dart similarity index 100% rename from backend_dart/lib/application/usecases/register_user.dart rename to backend-dart/lib/application/usecases/register_user.dart diff --git a/backend_dart/lib/backend_dart.dart b/backend-dart/lib/backend_dart.dart similarity index 100% rename from backend_dart/lib/backend_dart.dart rename to backend-dart/lib/backend_dart.dart diff --git a/backend_dart/lib/domain/entities/user.dart b/backend-dart/lib/domain/entities/user.dart similarity index 100% rename from backend_dart/lib/domain/entities/user.dart rename to backend-dart/lib/domain/entities/user.dart diff --git a/backend_dart/lib/domain/repositories/user_repository.dart b/backend-dart/lib/domain/repositories/user_repository.dart similarity index 100% rename from backend_dart/lib/domain/repositories/user_repository.dart rename to backend-dart/lib/domain/repositories/user_repository.dart diff --git a/backend_dart/lib/infrastructure/config/config.dart b/backend-dart/lib/infrastructure/config/config.dart similarity index 100% rename from backend_dart/lib/infrastructure/config/config.dart rename to backend-dart/lib/infrastructure/config/config.dart diff --git a/backend_dart/lib/infrastructure/persistence/db/client.dart b/backend-dart/lib/infrastructure/persistence/db/client.dart similarity index 100% rename from backend_dart/lib/infrastructure/persistence/db/client.dart rename to backend-dart/lib/infrastructure/persistence/db/client.dart diff --git a/backend_dart/lib/infrastructure/persistence/db/model.dart b/backend-dart/lib/infrastructure/persistence/db/model.dart similarity index 100% rename from backend_dart/lib/infrastructure/persistence/db/model.dart rename to backend-dart/lib/infrastructure/persistence/db/model.dart diff --git a/backend_dart/lib/infrastructure/persistence/db/prisma.dart b/backend-dart/lib/infrastructure/persistence/db/prisma.dart similarity index 100% rename from backend_dart/lib/infrastructure/persistence/db/prisma.dart rename to backend-dart/lib/infrastructure/persistence/db/prisma.dart diff --git a/backend_dart/lib/infrastructure/persistence/postgres_user_repository.dart b/backend-dart/lib/infrastructure/persistence/postgres_user_repository.dart similarity index 100% rename from backend_dart/lib/infrastructure/persistence/postgres_user_repository.dart rename to backend-dart/lib/infrastructure/persistence/postgres_user_repository.dart diff --git a/backend_dart/lib/interfaces/http/server.dart b/backend-dart/lib/interfaces/http/server.dart similarity index 100% rename from backend_dart/lib/interfaces/http/server.dart rename to backend-dart/lib/interfaces/http/server.dart diff --git a/backend_dart/pubspec.lock b/backend-dart/pubspec.lock similarity index 97% rename from backend_dart/pubspec.lock rename to backend-dart/pubspec.lock index 340d2b7..852f1d9 100644 --- a/backend_dart/pubspec.lock +++ b/backend-dart/pubspec.lock @@ -5,23 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" + sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" url: "https://pub.dev" source: hosted - version: "73.0.0" + version: "76.0.0" _macros: dependency: transitive description: dart source: sdk - version: "0.3.2" + version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" + sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" url: "https://pub.dev" source: hosted - version: "6.8.0" + version: "6.11.0" args: dependency: transitive description: @@ -250,10 +250,10 @@ packages: dependency: transitive description: name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" url: "https://pub.dev" source: hosted - version: "0.1.2-main.4" + version: "0.1.3-main.0" matcher: dependency: transitive description: diff --git a/backend_dart/pubspec.yaml b/backend-dart/pubspec.yaml similarity index 100% rename from backend_dart/pubspec.yaml rename to backend-dart/pubspec.yaml diff --git a/backend_dart/test/backend_dart_test.dart b/backend-dart/test/backend_dart_test.dart similarity index 100% rename from backend_dart/test/backend_dart_test.dart rename to backend-dart/test/backend_dart_test.dart diff --git a/backend_dart/bin/backend_dart.dart b/backend_dart/bin/backend_dart.dart deleted file mode 100644 index 30a6399..0000000 --- a/backend_dart/bin/backend_dart.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:backend_dart/backend_dart.dart' as backend_dart; -import 'package:backend_dart/infrastructure/config/config.dart'; -import 'package:backend_dart/interfaces/http/server.dart'; - -void main() async { - final config = await Config.load(); - final server = Server(config); - - print('Starting ActaTempus server on port ${config.port}...'); - await server.start(); -} diff --git a/docs/presentation/fp_dart-demo/pubspec.lock b/docs/presentation/fp_dart-demo/pubspec.lock index 73ae076..0de91c9 100644 --- a/docs/presentation/fp_dart-demo/pubspec.lock +++ b/docs/presentation/fp_dart-demo/pubspec.lock @@ -5,23 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" + sha256: "88399e291da5f7e889359681a8f64b18c5123e03576b01f32a6a276611e511c3" url: "https://pub.dev" source: hosted - version: "73.0.0" + version: "78.0.0" _macros: dependency: transitive description: dart source: sdk - version: "0.3.2" + version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" + sha256: "62899ef43d0b962b056ed2ebac6b47ec76ffd003d5f7c4e4dc870afe63188e33" url: "https://pub.dev" source: hosted - version: "6.8.0" + version: "7.1.0" args: dependency: transitive description: @@ -66,10 +66,10 @@ packages: dependency: transitive description: name: coverage - sha256: "4b03e11f6d5b8f6e5bb5e9f7889a56fe6c5cbe942da5378ea4d4d7f73ef9dfe5" + sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" crypto: dependency: transitive description: @@ -114,10 +114,10 @@ packages: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: @@ -130,10 +130,10 @@ packages: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: @@ -162,18 +162,18 @@ packages: dependency: transitive description: name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" url: "https://pub.dev" source: hosted - version: "0.1.2-main.4" + version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" meta: dependency: transitive description: @@ -202,10 +202,10 @@ packages: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" path: dependency: transitive description: @@ -226,10 +226,10 @@ packages: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" shelf: dependency: transitive description: @@ -274,58 +274,58 @@ packages: dependency: transitive description: name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" url: "https://pub.dev" source: hosted - version: "0.10.12" + version: "0.10.13" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "4ac0537115a24d772c408a2520ecd0abb99bca2ea9c4e634ccbdbfae64fe17ec" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" string_scanner: dependency: transitive description: name: string_scanner - sha256: "0bd04f5bb74fcd6ff0606a888a30e917af9bd52820b178eaa464beb11dca84b6" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test: dependency: "direct dev" description: name: test - sha256: f2a018e2baa6fce7c8daa55b8bdf4b3d7d165f82caac269e4cbe5edd666c0e4c + sha256: "8391fbe68d520daf2314121764d38e37f934c02fd7301ad18307bd93bd6b725d" url: "https://pub.dev" source: hosted - version: "1.25.9" + version: "1.25.14" test_api: dependency: transitive description: @@ -338,10 +338,10 @@ packages: dependency: transitive description: name: test_core - sha256: "60ff490bb383858015df7b7a0d883301a426edf9033989f55f091d91efb9dfaf" + sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" url: "https://pub.dev" source: hosted - version: "0.6.6" + version: "0.6.8" typed_data: dependency: transitive description: @@ -354,18 +354,18 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.0.0" watcher: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web: dependency: transitive description: @@ -402,9 +402,9 @@ packages: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: dart: ">=3.5.4 <4.0.0"