diff --git a/docs/apiDocs/apiBuilds.md b/docs/apiDocs/apiBuilds.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/apiDocs/apiControllers.md b/docs/apiDocs/apiControllers.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/apiDocs/apiInitializer.md b/docs/apiDocs/apiInitializer.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/apiDocs/apiMiddlewares.md b/docs/apiDocs/apiMiddlewares.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/apiDocs/apiModules.md b/docs/apiDocs/apiModules.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/apiDocs/apiValidations.md b/docs/apiDocs/apiValidations.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/apiDocs/schemas.md b/docs/apiDocs/schemas.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/front.md b/docs/front.md index 330a2ee..1e539b3 100644 --- a/docs/front.md +++ b/docs/front.md @@ -60,7 +60,7 @@ Validations that are used in the project - [Mutual Validations](./frontDocs/MutualValidations.md) - [Custom Validations](./frontDocs/CustomValidations.md) -# Web Pages +# Pages Web pages that are used in the project diff --git a/docs/frontDocs/.gitignore b/docs/frontDocs/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/docs/frontDocs/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/docs/frontDocs/Dockerfile b/docs/frontDocs/Dockerfile new file mode 100644 index 0000000..4fd59bc --- /dev/null +++ b/docs/frontDocs/Dockerfile @@ -0,0 +1,21 @@ +FROM node:23-alpine + +WORKDIR / + +# Copy package.json and package-lock.json +COPY /web_services/client_frontend/package*.json ./web_services/client_frontend/ + +# Install dependencies +RUN cd ./web_services/client_frontend && npm install --legacy-peer-deps + +# Copy the rest of the application +COPY /web_services/client_frontend ./web_services/client_frontend + +## Build the Next.js app +#RUN cd ./web_services/client_frontend && npm run dev + +# Expose the port the app runs on +EXPOSE 3000 + +# Command to run the app +CMD ["sh", "-c", "cd /web_services/client_frontend && npm run dev"] diff --git a/docs/frontDocs/api_env.env b/docs/frontDocs/api_env.env new file mode 100644 index 0000000..c1cddc1 --- /dev/null +++ b/docs/frontDocs/api_env.env @@ -0,0 +1,41 @@ +MONGO_ENGINE=mongodb +MONGO_DB=appdb +MONGO_HOST=10.10.2.13 +MONGO_PORT=27017 +MONGO_USER=appuser +MONGO_AUTH_DB=appdb +MONGO_PASSWORD=apppassword + +POSTGRES_USER=postgres +POSTGRES_PASSWORD=password +POSTGRES_DB=postgres +POSTGRES_HOST=10.10.2.14 +POSTGRES_PORT=5432 +POSTGRES_ENGINE=postgresql+psycopg2 +POSTGRES_POOL_PRE_PING=True +POSTGRES_POOL_SIZE=20 +POSTGRES_MAX_OVERFLOW=10 +POSTGRES_POOL_RECYCLE=600 +POSTGRES_POOL_TIMEOUT=30 +POSTGRES_ECHO=True + +REDIS_HOST=10.10.2.15 +REDIS_PASSWORD=your_strong_password_here +REDIS_PORT=6379 +REDIS_DB=0 + +API_ACCESS_EMAIL_EXT=evyos.com.tr +API_ALGORITHM=HS256 +API_ACCESS_TOKEN_LENGTH=90 +API_REFRESHER_TOKEN_LENGTH=144 +API_EMAIL_HOST=10.10.2.36 +API_DATETIME_FORMAT=YYYY-MM-DD HH:mm:ss Z +API_FORGOT_LINK=https://www.evyos.com.tr/password/create?tokenUrl= +API_VERSION=0.1.001 +API_ACCESS_TOKEN_TAG=eys-acs-tkn + +EMAIL_HOST=10.10.2.34 +EMAIL_USERNAME=karatay@mehmetkaratay.com.tr +EMAIL_PASSWORD=system +EMAIL_PORT=587 +EMAIL_SEND=0 diff --git a/docs/frontDocs/docker-compose.yml b/docs/frontDocs/docker-compose.yml new file mode 100644 index 0000000..157eb0f --- /dev/null +++ b/docs/frontDocs/docker-compose.yml @@ -0,0 +1,274 @@ +services: + client_frontend: + container_name: client_frontend + build: + context: . + dockerfile: web_services/client_frontend/Dockerfile + networks: + - wag-services + ports: + - "3000:3000" + environment: + - NODE_ENV=development + - WEB_BASE_URL=http://localhost:3000 + - API_BASE_URL=http://localhost:3000/api + cpus: 1.5 + mem_limit: 2048m + + # management_frontend: + # container_name: management_frontend + # build: + # context: . + # dockerfile: web_services/management_frontend/Dockerfile + # networks: + # - wag-services + # ports: + # - "3001:3000" + # environment: + # - NODE_ENV=development + # - WEB_BASE_URL=http://localhost:3001 + # - API_BASE_URL=http://localhost:3001/api + # cpus: 1 + # mem_limit: 2048m + + # account_service: + # container_name: account_service + # build: + # context: . + # dockerfile: api_services/api_builds/account_service/Dockerfile + # env_file: + # - api_env.env + # networks: + # - wag-services + # environment: + # - API_PATH=app:app + # - API_HOST=0.0.0.0 + # - API_PORT=8004 + # - API_LOG_LEVEL=info + # - API_RELOAD=1 + # - API_APP_NAME=evyos-account-api-gateway + # - API_TITLE=WAG API Account Api Gateway + # - API_DESCRIPTION=This api is serves as web account api gateway only to evyos web services. + # - API_APP_URL=https://account_service + # ports: + # - "8004:8004" + + # building_service: + # container_name: building_service + # build: + # context: . + # dockerfile: api_services/api_builds/building_service/Dockerfile + # env_file: + # - api_env.env + # networks: + # - wag-services + # environment: + # - API_PATH=app:app + # - API_HOST=0.0.0.0 + # - API_PORT=8006 + # - API_LOG_LEVEL=info + # - API_RELOAD=1 + # - API_APP_NAME=evyos-building-api-gateway + # - API_TITLE=WAG API Building Api Gateway + # - API_DESCRIPTION=This api is serves as web building api gateway only to evyos web services. + # - API_APP_URL=https://building_service + # ports: + # - "8006:8006" + + identity_service: + container_name: identity_service + build: + context: . + dockerfile: api_services/api_builds/identity_service/Dockerfile + env_file: + - api_env.env + networks: + - wag-services + environment: + - API_PATH=app:app + - API_HOST=0.0.0.0 + - API_PORT=8009 + - API_LOG_LEVEL=info + - API_RELOAD=1 + - API_APP_NAME=evyos-identity-api-gateway + - API_TITLE=WAG API Identity Api Gateway + - API_DESCRIPTION=This api is serves as web identity api gateway only to evyos web services. + - API_APP_URL=https://identity_service + ports: + - "8009:8009" + + auth_service: + container_name: auth_service + build: + context: . + dockerfile: api_services/api_builds/auth_service/Dockerfile + env_file: + - api_env.env + networks: + - wag-services + environment: + - API_PATH=app:app + - API_HOST=0.0.0.0 + - API_PORT=8001 + - API_LOG_LEVEL=info + - API_RELOAD=1 + - API_APP_NAME=evyos-auth-api-gateway + - API_TITLE=WAG API Auth Api Gateway + - API_FORGOT_LINK=https://auth_service/forgot-password + - API_DESCRIPTION=This api is serves as web auth api gateway only to evyos web services. + - API_APP_URL=https://auth_service + ports: + - "8001:8001" + # restart: unless-stopped + + restriction_service: + container_name: restriction_service + build: + context: . + dockerfile: api_services/api_builds/restriction_service/Dockerfile + env_file: + - api_env.env + networks: + - wag-services + environment: + - API_PATH=app:app + - API_HOST=0.0.0.0 + - API_PORT=8002 + - API_LOG_LEVEL=info + - API_RELOAD=1 + - API_APP_NAME=evyos-restriction-api-gateway + - API_TITLE=WAG API Restriction Api Gateway + - API_DESCRIPTION=This api is serves as web restriction api gateway only to evyos web services. + - API_APP_URL=https://restriction_service + ports: + - "8002:8002" + # restart: unless-stopped + + management_service: + container_name: management_service + build: + context: . + dockerfile: api_services/api_builds/management_service/Dockerfile + env_file: + - api_env.env + networks: + - wag-services + environment: + - API_PATH=app:app + - API_HOST=0.0.0.0 + - API_PORT=8003 + - API_LOG_LEVEL=info + - API_RELOAD=1 + - API_APP_NAME=evyos-management-api-gateway + - API_TITLE=WAG API Management Api Gateway + - API_DESCRIPTION=This api is serves as web management api gateway only to evyos web services. + - API_APP_URL=https://management_service + ports: + - "8003:8003" + # restart: unless-stopped + + # initializer_service: + # container_name: initializer_service + # build: + # context: . + # dockerfile: api_services/api_builds/initial_service/Dockerfile + # environment: + # - SET_ALEMBIC=0 + # networks: + # - wag-services + # env_file: + # - api_env.env + # mem_limit: 512m + # cpus: 0.5 + + # address_service: + # container_name: address_service + # build: + # context: . + # dockerfile: api_services/api_builds/address_service/Dockerfile + # env_file: + # - api_env.env + # networks: + # - wag-services + # environment: + # - API_PATH=app:app + # - API_HOST=0.0.0.0 + # - API_PORT=8009 + # - API_LOG_LEVEL=info + # - API_RELOAD=1 + # - API_APP_NAME=evyos-address-api-gateway + # - API_TITLE=WAG API Address Api Gateway + # - API_DESCRIPTION=This api is serves as web address api gateway only to evyos web services. + # - API_APP_URL=https://address_service + # ports: + # - "8009:8009" + + # decision_book_service: + # container_name: decision_book_service + # build: + # context: . + # dockerfile: api_services/api_builds/decision_book_service/Dockerfile + # env_file: + # - api_env.env + # networks: + # - wag-services + # environment: + # - API_PATH=app:app + # - API_HOST=0.0.0.0 + # - API_PORT=8007 + # - API_LOG_LEVEL=info + # - API_RELOAD=1 + # - API_APP_NAME=evyos-decision-book-api-gateway + # - API_TITLE=WAG API Decision Book Api Gateway + # - API_DESCRIPTION=This api is serves as web decision book api gateway only to evyos web services. + # - API_APP_URL=https://decision_book_service + # ports: + # - "8007:8007" + + # project_decision_book_service: + # container_name: project_decision_book_service + # build: + # context: . + # dockerfile: api_services/api_builds/project_decision_book_service/Dockerfile + # env_file: + # - api_env.env + # networks: + # - wag-services + # environment: + # - API_PATH=app:app + # - API_HOST=0.0.0.0 + # - API_PORT=8008 + # - API_LOG_LEVEL=info + # - API_RELOAD=1 + # - API_APP_NAME=evyos-project-decision-book-api-gateway + # - API_TITLE=WAG API Project Decision Book Api Gateway + # - API_DESCRIPTION=This api is serves as web project decision book api gateway only to evyos web services. + # - API_APP_URL=https://project_decision_book_service + # ports: + # - "8008:8008" + + # company_service: + # container_name: company_service + # build: + # context: . + # dockerfile: api_services/api_builds/company_service/Dockerfile + # env_file: + # - api_env.env + # networks: + # - wag-services + # environment: + # - API_PATH=app:app + # - API_HOST=0.0.0.0 + # - API_PORT=8005 + # - API_LOG_LEVEL=info + # - API_RELOAD=1 + # - API_APP_NAME=evyos-company-api-gateway + # - API_TITLE=WAG API Company Api Gateway + # - API_DESCRIPTION=This api is serves as web company api gateway only to evyos web services. + # - API_APP_URL=https://company_service + # ports: + # - "8005:8005" + +networks: + wag-services: + driver: bridge diff --git a/docs/frontDocs/menuSchema.tsx b/docs/frontDocs/menuSchema.tsx new file mode 100644 index 0000000..f0e8221 --- /dev/null +++ b/docs/frontDocs/menuSchema.tsx @@ -0,0 +1,99 @@ + +// Toplanti Başkani Toplanti Başkani MT-PRS +// Toplanti Katip Toplantida tutanak tutan kişi MT-WRT +// Toplanti Katilimcisi Toplantida sadece katilan kişi MT-ATT +// Toplanti Danişman Toplantida danişmanlik yapan kişi MT-ADV +// Toplanti Seçilmiş Başkani Toplanti Seçilmiş Başkani MT-VPR +// Daire Sahibi Daire Sahibi FL-OWN +// Daire Kiracisi Daire Kiracisi FL-TEN +// Daire Sakini Daire Sakini FL-RES +// Daire Sakini Vekili Daire Sakini Vekili FL-REP +// Bina Avukati Bina Avukati BU-ATT +// Bina Avukati Yardimcisi Bina Avukati Yardimcisi BU-ATA +// Bina Denetmen Yardimcisi Bina Denetmen Yardimcisi BU-SPA +// Bina Denetmeni Bina Denetmeni BU-SPV +// Bina Yönetici Yardimcisi Bina Yönetici Yardimcisi BU-MNA +// Bina Yöneticisi Bina Yöneticisi BU-MNG +// Bina Muhasabecisi Bina Muhasabecisi BU-ACC +// Proje Lideri Proje Lideri PRJ-LDR +// Proje Sorumlusu Proje Sorumlusu PRJ-RES +// Proje Ekibi Proje Ekibi PRJ-EMP +// Proje Finans Sorumlusu Proje Finans Sorumlusu PRJ-FIN +// Proje Teknik Sorumlusu Proje Teknik Sorumlusu PRJ-TEC +// Daire Mülkiyet Vekili Daire Mülkiyet Vekili FL-DEP +// Bina Teknik Sorumlusu Bina Teknik Sorumlusu BU-TEC +// Bina Teknik Elemani Bina Teknik Elemani BU-EMP +// Bina Teknik Freelancer Bina Teknik Freelancer BU-FLC + + +const occ_types = { + "MT-PRS": "Toplanti Başkani", + "MT-WRT": "Toplanti Katip", + "MT-ATT": "Toplanti Katilimcisi", + "MT-ADV": "Toplanti Danişman", + "MT-VPR": "Toplanti Seçilmiş Başkani", + "FL-OWN": "Daire Sahibi", + "FL-TEN": "Daire Kiracisi", + "FL-RES": "Daire Sakini", + "FL-REP": "Daire Sakini Vekili", + "BU-ATT": "Bina Avukati", + "BU-ATA": "Bina Avukati Yardimcisi", + "BU-SPA": "Bina Denetmen Yardimcisi", + "BU-SPV": "Bina Denetmeni", + "BU-MNA": "Bina Yönetici Yardimcisi", + "BU-MNG": "Bina Yöneticisi", + "BU-ACC": "Bina Muhasabecisi", + "PRJ-LDR": "Proje Lideri", + "PRJ-RES": "Proje Sorumlusu", + "PRJ-EMP": "Proje Ekibi", + "PRJ-FIN": "Proje Finans Sorumlusu", + "PRJ-TEC": "Proje Teknik Sorumlusu", + "FL-DEP": "Daire Mülkiyet Vekili", + "BU-TEC": "Bina Teknik Sorumlusu", + "BU-EMP": "Bina Teknik Elemani", + "BU-FLC": "Bina Teknik Freelancer", +} + + +const thirdMenuItems = { + "Birey": { + + }, + "Yetki": [ + + ], + "Apartman": [ + + ], + "Daire": [ + + ], + "Alan": [ + + ], + "Yönetim Cari Hareketler": [ + + ], + "Yönetim Bütçe işlemleri": [ + + ], + "Daire cari Hareketler": [ + + ], + "Yillik Olağan Toplanti Tanimlama ve Davet": [ + + ], + "Yillik Olağan Toplanti kapatma ve Cari Yaratma": [ + + ], + "Acil Toplanti Tanimlama ve Davet": [ + + ], + "Acil Olağan Toplanti kapatma ve Cari Yaratma": [ + + ], + "Toplanti Katilim İşlemleri": [ + + ], +} + diff --git a/docs/frontDocs/package.json b/docs/frontDocs/package.json new file mode 100644 index 0000000..93395fd --- /dev/null +++ b/docs/frontDocs/package.json @@ -0,0 +1,68 @@ +{ + "name": "client-frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --turbopack", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@hookform/resolvers": "^5.0.1", + "@radix-ui/react-accordion": "^1.2.10", + "@radix-ui/react-alert-dialog": "^1.1.13", + "@radix-ui/react-aspect-ratio": "^1.1.6", + "@radix-ui/react-avatar": "^1.1.9", + "@radix-ui/react-checkbox": "^1.3.1", + "@radix-ui/react-collapsible": "^1.1.10", + "@radix-ui/react-context-menu": "^2.2.14", + "@radix-ui/react-dialog": "^1.1.13", + "@radix-ui/react-dropdown-menu": "^2.1.14", + "@radix-ui/react-hover-card": "^1.1.13", + "@radix-ui/react-label": "^2.1.6", + "@radix-ui/react-menubar": "^1.1.14", + "@radix-ui/react-navigation-menu": "^1.2.12", + "@radix-ui/react-popover": "^1.1.13", + "@radix-ui/react-progress": "^1.1.6", + "@radix-ui/react-radio-group": "^1.3.6", + "@radix-ui/react-scroll-area": "^1.2.8", + "@radix-ui/react-select": "^2.2.4", + "@radix-ui/react-separator": "^1.1.6", + "@radix-ui/react-slider": "^1.3.4", + "@radix-ui/react-slot": "^1.2.2", + "@radix-ui/react-switch": "^1.2.4", + "@radix-ui/react-tabs": "^1.1.11", + "@radix-ui/react-toggle": "^1.1.8", + "@radix-ui/react-tooltip": "^1.2.6", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "cmdk": "^1.1.1", + "date-fns": "^4.1.0", + "flatpickr": "^4.6.13", + "ioredis": "^5.6.1", + "lucide-react": "^0.487.0", + "next": "^15.2.4", + "next-crypto": "^1.0.8", + "next-themes": "^0.4.6", + "react": "^19.0.0", + "react-day-picker": "^8.10.1", + "react-dom": "^19.0.0", + "react-hook-form": "^7.56.3", + "sonner": "^2.0.3", + "tailwind-merge": "^3.3.0", + "zod": "^3.24.4" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@tailwindcss/postcss": "^4.1.6", + "@types/node": "^20.17.46", + "@types/react": "^19.1.4", + "@types/react-dom": "^19.1.5", + "eslint": "^9", + "eslint-config-next": "15.3.2", + "tailwindcss": "^4.1.6", + "tw-animate-css": "^1.2.9", + "typescript": "^5.8.3" + } +} diff --git a/docs/frontDocs/pyproject.toml b/docs/frontDocs/pyproject.toml new file mode 100644 index 0000000..5d4e085 --- /dev/null +++ b/docs/frontDocs/pyproject.toml @@ -0,0 +1,27 @@ +[project] +name = "prod-wag-backend-automate-services" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "alembic>=1.15.2", + "arrow>=1.3.0", + "cryptography>=44.0.2", + "faker>=37.1.0", + "fastapi>=0.115.12", + "pandas>=2.2.3", + "prometheus-fastapi-instrumentator>=7.1.0", + "psycopg2-binary>=2.9.10", + "pydantic-settings>=2.8.1", + "pymongo>=4.11.3", + "pytest>=8.3.5", + "redbox>=0.2.1", + "redis>=5.2.1", + "redmail>=0.6.0", + "requests>=2.32.3", + "sqlalchemy-mixins>=2.0.5", + "textdistance>=4.6.3", + "unidecode>=1.3.8", + "uvicorn>=0.34.0", +]