Skip to content

Commit f7e8d7b

Browse files
committed
Version 1.0.0
0 parents  commit f7e8d7b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+28375
-0
lines changed

.dockerignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/.git
2+
/.idea
3+
/.next
4+
/.run
5+
/build
6+
/coverage
7+
/data
8+
/dist
9+
/node_modules
10+
/Dockerfile

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
insert_final_newline = true
6+
charset = utf-8
7+
indent_style = space
8+
trim_trailing_whitespace = true
9+
10+
[*.md]
11+
max_line_length = 80
12+
indent_size = 2
13+
14+
[*.{js,jsx,ts,tsx}]
15+
indent_size = 4
16+
max_line_length = 120

.eslintrc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": [
3+
"next/core-web-vitals",
4+
"next/typescript"
5+
]
6+
}

.gitignore

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.*
7+
.yarn/*
8+
!.yarn/patches
9+
!.yarn/plugins
10+
!.yarn/releases
11+
!.yarn/versions
12+
13+
# testing
14+
/coverage
15+
16+
# next.js
17+
/.next/
18+
/out/
19+
20+
# production
21+
/build
22+
/dist
23+
24+
# misc
25+
.DS_Store
26+
*.pem
27+
28+
# debug
29+
npm-debug.log*
30+
yarn-debug.log*
31+
yarn-error.log*
32+
33+
# env files
34+
env
35+
36+
# vercel
37+
.vercel
38+
39+
# typescript
40+
*.tsbuildinfo
41+
next-env.d.ts
42+
43+
# JetBrains
44+
.idea

.run/All Tests.run.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="All Tests" type="JavaScriptTestRunnerJest" nameIsGenerated="true">
3+
<node-interpreter value="project" />
4+
<node-options value="--import=extensionless/register --experimental-vm-modules --no-warnings" />
5+
<jest-package value="$PROJECT_DIR$/node_modules/jest" />
6+
<working-dir value="$PROJECT_DIR$" />
7+
<envs />
8+
<scope-kind value="ALL" />
9+
<method v="2" />
10+
</configuration>
11+
</component>

.run/Template Jest.run.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="true" type="JavaScriptTestRunnerJest">
3+
<node-interpreter value="project" />
4+
<node-options value="--import=extensionless/register --experimental-vm-modules --no-warnings" />
5+
<jest-options value="--detectOpenHandles" />
6+
<envs />
7+
<scope-kind value="ALL" />
8+
<method v="2" />
9+
</configuration>
10+
</component>

.run/dev.run.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="dev" type="js.build_tools.npm" activateToolWindowBeforeRun="false" nameIsGenerated="true">
3+
<package-json value="$PROJECT_DIR$/package.json" />
4+
<command value="run" />
5+
<scripts>
6+
<script value="dev" />
7+
</scripts>
8+
<node-interpreter value="project" />
9+
<envs />
10+
<EXTENSION ID="com.intellij.lang.javascript.buildTools.npm.rc.StartBrowserRunConfigurationExtension">
11+
<browser start="true" with-js-debugger="true" url="http://localhost:3000/" />
12+
</EXTENSION>
13+
<method v="2" />
14+
</configuration>
15+
</component>

Dockerfile

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
FROM node:23-alpine AS builder
2+
3+
WORKDIR /build
4+
5+
# Copy package files and install dependencies
6+
COPY package*.json ./
7+
RUN npm ci
8+
9+
# Copy application files
10+
COPY . .
11+
12+
# Build the application
13+
RUN npm run build
14+
15+
FROM node:23-alpine AS app
16+
17+
RUN apk add --no-cache runuser
18+
19+
WORKDIR /app
20+
21+
COPY --from=builder --chown=node:node /build/dist/ /app
22+
COPY ./entrypoint.sh /entrypoint.sh
23+
24+
EXPOSE 3000
25+
26+
VOLUME /app/data
27+
28+
ENTRYPOINT ["/entrypoint.sh"]
29+
CMD ["npm", "run", "prod"]

LICENSE.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Copyright 2024 Oldřich Jedlička <oldium.pro@gmail.com>
2+
3+
Redistribution and use in source and binary forms, with or without modification,
4+
are permitted provided that the following conditions are met:
5+
6+
1. Redistributions of source code must retain the above copyright notice, this
7+
list of conditions and the following disclaimer.
8+
9+
2. Redistributions in binary form must reproduce the above copyright notice,
10+
this list of conditions and the following disclaimer in the documentation
11+
and/or other materials provided with the distribution.
12+
13+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
14+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
17+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (
18+
INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
19+
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
22+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)