env thing and starting to changes
This commit is contained in:
13
.env.example
Normal file
13
.env.example
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
DATABASE_URL=${{project.DATABASE_URL}}
|
||||||
|
REDIS_URL=${{project.REDIS_URL}}
|
||||||
|
|
||||||
|
PUBLIC_NODE_ENV=${{project.PUBLIC_NODE_ENV}}
|
||||||
|
NODE_ENV=${{project.NODE_ENV}}
|
||||||
|
|
||||||
|
PUBLIC_URL=${{project.BETTER_AUTH_URL}}
|
||||||
|
PUBLIC_FRONTEND_URL=${{project.BETTER_AUTH_URL}}
|
||||||
|
|
||||||
|
BETTER_AUTH_SECRET=${{project.BETTER_AUTH_URL}}
|
||||||
|
BETTER_AUTH_URL=${{project.BETTER_AUTH_URL}}
|
||||||
|
|
||||||
|
DEBUG_API_KEY=${{project.DEBUG_API_KEY}}
|
||||||
@@ -1 +1,2 @@
|
|||||||
export * from "@pkg/logic/domains/order/data/entities";
|
export * from "@pkg/logic/domains/order/data/entities";
|
||||||
|
export * from "@pkg/logic/domains/order/data/enums";
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
<script lang="ts">
|
|
||||||
import Icon from "$lib/components/atoms/icon.svelte";
|
|
||||||
import { TRANSITION_COLORS } from "$lib/core/constants";
|
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
import FilterIcon from "~icons/solar/filter-broken";
|
|
||||||
import * as Sheet from "$lib/components/ui/sheet/index.js";
|
|
||||||
import TicketFiltersSelect from "../ticket-filters-select.svelte";
|
|
||||||
|
|
||||||
import Button from "$lib/components/ui/button/button.svelte";
|
|
||||||
import CloseIcon from "~icons/lucide/x";
|
|
||||||
import Title from "$lib/components/atoms/title.svelte";
|
|
||||||
|
|
||||||
let open = $state(false);
|
|
||||||
|
|
||||||
const close = () => (open = false);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<Sheet.Root bind:open>
|
|
||||||
<Sheet.Trigger
|
|
||||||
class={cn(
|
|
||||||
"grid place-items-center rounded-full bg-brand-100 p-4 text-brand-500 shadow-lg hover:bg-brand-500 hover:text-white",
|
|
||||||
TRANSITION_COLORS,
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
<Icon icon={FilterIcon} cls={cn("h-8 w-auto", TRANSITION_COLORS)} />
|
|
||||||
</Sheet.Trigger>
|
|
||||||
<Sheet.Content side="bottom">
|
|
||||||
<div class="flex justify-between gap-4">
|
|
||||||
<Title size="h4" color="black">Tickets Filters</Title>
|
|
||||||
<Button size="iconSm" variant="white" onclick={() => close()}>
|
|
||||||
<Icon icon={CloseIcon} cls={cn("h-6 w-auto")} />
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex max-h-[80vh] w-full flex-col gap-4 overflow-y-auto p-4">
|
|
||||||
<TicketFiltersSelect onApplyClick={() => close()} />
|
|
||||||
</div>
|
|
||||||
</Sheet.Content>
|
|
||||||
</Sheet.Root>
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
<script lang="ts">
|
|
||||||
import Icon from "$lib/components/atoms/icon.svelte";
|
|
||||||
import { TRANSITION_COLORS } from "$lib/core/constants";
|
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
import SearchIcon from "~icons/solar/minimalistic-magnifer-linear";
|
|
||||||
import * as Sheet from "$lib/components/ui/sheet/index.js";
|
|
||||||
import TicketSearchInput from "../ticket-search-input.svelte";
|
|
||||||
import Button from "$lib/components/ui/button/button.svelte";
|
|
||||||
import CloseIcon from "~icons/lucide/x";
|
|
||||||
import Title from "$lib/components/atoms/title.svelte";
|
|
||||||
|
|
||||||
let { onSubmit }: { onSubmit: () => void } = $props();
|
|
||||||
|
|
||||||
function _onSubmit() {
|
|
||||||
onSubmit();
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
|
|
||||||
let open = $state(false);
|
|
||||||
|
|
||||||
const close = () => (open = false);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<Sheet.Root bind:open>
|
|
||||||
<Sheet.Trigger
|
|
||||||
class={cn(
|
|
||||||
"grid place-items-center rounded-full bg-brand-500 p-4 text-white shadow-lg hover:bg-brand-700",
|
|
||||||
TRANSITION_COLORS,
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
<Icon
|
|
||||||
icon={SearchIcon}
|
|
||||||
cls={cn("h-8 w-auto text-white", TRANSITION_COLORS)}
|
|
||||||
/>
|
|
||||||
</Sheet.Trigger>
|
|
||||||
<Sheet.Content side="bottom">
|
|
||||||
<div class="flex w-full flex-col gap-4">
|
|
||||||
<div class="flex justify-between gap-4">
|
|
||||||
<Title size="h5" color="black">Search Flights</Title>
|
|
||||||
<Button size="iconSm" variant="white" onclick={() => close()}>
|
|
||||||
<Icon icon={CloseIcon} cls={cn("h-6 w-auto")} />
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex max-h-[80vh] w-full flex-col gap-4 overflow-y-auto">
|
|
||||||
<TicketSearchInput onSubmit={_onSubmit} />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Sheet.Content>
|
|
||||||
</Sheet.Root>
|
|
||||||
@@ -1,11 +1,9 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { page } from "$app/stores";
|
import { page } from "$app/stores";
|
||||||
import TicketFiltersSheet from "$lib/domains/ticket/view/search/ticket-filters-sheet.svelte";
|
import MaxWidthWrapper from "$lib/components/molecules/max-width-wrapper.svelte";
|
||||||
import TicketSearchInputSheet from "$lib/domains/ticket/view/search/ticket-search-input-sheet.svelte";
|
|
||||||
import SearchedTicketsList from "$lib/domains/ticket/view/searched-tickets-list.svelte";
|
import SearchedTicketsList from "$lib/domains/ticket/view/searched-tickets-list.svelte";
|
||||||
import TicketFiltersSelect from "$lib/domains/ticket/view/ticket-filters-select.svelte";
|
import TicketFiltersSelect from "$lib/domains/ticket/view/ticket-filters-select.svelte";
|
||||||
import TicketSearchInput from "$lib/domains/ticket/view/ticket-search-input.svelte";
|
import TicketSearchInput from "$lib/domains/ticket/view/ticket-search-input.svelte";
|
||||||
import MaxWidthWrapper from "$lib/components/molecules/max-width-wrapper.svelte";
|
|
||||||
import { flightTicketVM } from "$lib/domains/ticket/view/ticket.vm.svelte";
|
import { flightTicketVM } from "$lib/domains/ticket/view/ticket.vm.svelte";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import { toast } from "svelte-sonner";
|
import { toast } from "svelte-sonner";
|
||||||
@@ -49,8 +47,3 @@
|
|||||||
</MaxWidthWrapper>
|
</MaxWidthWrapper>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="fixed bottom-4 right-4 z-50 flex flex-col gap-4 lg:hidden">
|
|
||||||
<TicketFiltersSheet />
|
|
||||||
<TicketSearchInputSheet {onSubmit} />
|
|
||||||
</div>
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:22.11.0 AS base
|
FROM node:24.10.0 AS base
|
||||||
|
|
||||||
RUN npm i -g bun
|
RUN npm i -g bun
|
||||||
|
|
||||||
@@ -6,15 +6,15 @@ FROM base AS builder
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package.json bun.lockb turbo.json ./
|
COPY package.json bun.lock turbo.json ./
|
||||||
|
|
||||||
COPY administrative/admin/package.json ./administrative/admin/package.json
|
COPY apps/admin/package.json ./apps/admin/package.json
|
||||||
|
|
||||||
COPY packages ./packages
|
COPY packages ./packages
|
||||||
|
|
||||||
RUN bun install
|
RUN bun install
|
||||||
|
|
||||||
COPY administrative/admin ./administrative/admin
|
COPY apps/admin ./apps/admin
|
||||||
|
|
||||||
RUN bun install
|
RUN bun install
|
||||||
|
|
||||||
@@ -26,4 +26,4 @@ EXPOSE 3000
|
|||||||
|
|
||||||
RUN chmod +x scripts/prod.start.sh
|
RUN chmod +x scripts/prod.start.sh
|
||||||
|
|
||||||
CMD ["/bin/sh", "scripts/prod.start.sh", "administrative/admin"]
|
CMD ["/bin/sh", "scripts/prod.start.sh", "apps/admin"]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:22.11.0 AS base
|
FROM node:24.10.0 AS base
|
||||||
|
|
||||||
RUN npm i -g bun
|
RUN npm i -g bun
|
||||||
|
|
||||||
@@ -8,13 +8,13 @@ WORKDIR /app
|
|||||||
|
|
||||||
COPY package.json bun.lockb turbo.json ./
|
COPY package.json bun.lockb turbo.json ./
|
||||||
|
|
||||||
COPY frontends/uno-fe/package.json ./frontends/uno-fe/package.json
|
COPY apps/frontend/package.json ./apps/frontend/package.json
|
||||||
|
|
||||||
COPY packages ./packages
|
COPY packages ./packages
|
||||||
|
|
||||||
RUN bun install
|
RUN bun install
|
||||||
|
|
||||||
COPY frontends/uno-fe ./frontends/uno-fe
|
COPY apps/frontend ./apps/frontend
|
||||||
|
|
||||||
RUN bun install
|
RUN bun install
|
||||||
|
|
||||||
@@ -26,4 +26,4 @@ EXPOSE 3000
|
|||||||
|
|
||||||
RUN chmod +x scripts/prod.start.sh
|
RUN chmod +x scripts/prod.start.sh
|
||||||
|
|
||||||
CMD ["/bin/sh", "scripts/prod.start.sh", "frontends/uno-fe"]
|
CMD ["/bin/sh", "scripts/prod.start.sh", "apps/frontend"]
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:22.11.0 AS base
|
FROM node:24.10.0 AS base
|
||||||
|
|
||||||
RUN npm i -g bun
|
RUN npm i -g bun
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ FROM base AS primary
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package.json bun.lockb turbo.json ./
|
COPY package.json bun.lock turbo.json ./
|
||||||
|
|
||||||
COPY packages/db packages/db
|
COPY packages/db packages/db
|
||||||
|
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
FROM python:3.13-slim-bookworm
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
|
||||||
bash wget gnupg curl zip unzip \
|
|
||||||
libnss3 libatk1.0-0 libatk-bridge2.0-0 \
|
|
||||||
libcups2 libxrandr2 libxss1 libasound2 \
|
|
||||||
libxdamage1 libgbm-dev \
|
|
||||||
libxcomposite1 libcurl4 xvfb \
|
|
||||||
fonts-liberation libnspr4 chromium && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN useradd -m -d /home/bro -s /bin/bash bro
|
|
||||||
|
|
||||||
WORKDIR /home/bro/app
|
|
||||||
|
|
||||||
RUN chown -R bro:bro /home/bro
|
|
||||||
|
|
||||||
USER bro
|
|
||||||
|
|
||||||
ENV PATH="$PATH:/home/bro/.local/bin"
|
|
||||||
|
|
||||||
RUN pip install --user --no-cache-dir uv
|
|
||||||
|
|
||||||
RUN uv python install 3.13
|
|
||||||
|
|
||||||
COPY --chown=bro:bro workers/ticket_scraper/uv.lock workers/ticket_scraper/pyproject.toml workers/ticket_scraper/.python-version ./
|
|
||||||
|
|
||||||
RUN uv lock
|
|
||||||
|
|
||||||
COPY --chown=bro:bro workers/ticket_scraper ./
|
|
||||||
|
|
||||||
EXPOSE 8080
|
|
||||||
|
|
||||||
ENV CHROME_EXECUTABLE_PATH="/usr/bin/chromium"
|
|
||||||
|
|
||||||
CMD ["uv", "run", "python", "-m", "fastapi", "run", "--port=8080", "main.py"]
|
|
||||||
15
scripts/populate.env.sh
Executable file
15
scripts/populate.env.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# copy over the environment variables from the base /.env file to all other apps & packages in apps/* and packages/*
|
||||||
|
|
||||||
|
for dir in apps/*; do
|
||||||
|
if [ -d "$dir" ]; then
|
||||||
|
cp .env $dir/.env
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for dir in packages/*; do
|
||||||
|
if [ -d "$dir" ]; then
|
||||||
|
cp .env $dir/.env
|
||||||
|
fi
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user