Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,12 @@ PG_USER=
PG_PASSWORD=
PG_HOST=
PG_DATABASE=
PG_PORT=
REDIS_URL=
CLOUDFLARE_API_TOKEN=
CLOUDFLARE_ZONE_ID=
CLOUDFLARE_GLOBAL_TOKEN=
CLOUDFLARE_EMAIL=
CERTBOT_EMAIL=
GITHUB_USERNAME=
GITHUB_TOKEN=
60 changes: 55 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,56 @@
node_modules/*
dist/*
package-lock.json
id_rsa
id_rsa.pub
# compiled output
/dist
/node_modules
/build

# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# OS
.DS_Store

# Tests
/coverage
/.nyc_output

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# temp directory
.temp
.tmp

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,3 @@ This program is free software: you can redistribute it and/or modify it under th

---
Made with ❤️ by Akshat Kotpalliwar (alias IntegerAlex on GitHub)
```
31 changes: 0 additions & 31 deletions db/create.ts

This file was deleted.

94 changes: 0 additions & 94 deletions db/main.ts

This file was deleted.

39 changes: 0 additions & 39 deletions db/operations.ts

This file was deleted.

35 changes: 35 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// @ts-check
import eslint from '@eslint/js';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
import globals from 'globals';
import tseslint from 'typescript-eslint';

export default tseslint.config(
{
ignores: ['eslint.config.mjs'],
},
eslint.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
eslintPluginPrettierRecommended,
{
languageOptions: {
globals: {
...globals.node,
...globals.jest,
},
ecmaVersion: 2020,
sourceType: 'module',
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-floating-promises': 'warn',
'@typescript-eslint/no-unsafe-argument': 'warn'
},
},
);
1 change: 1 addition & 0 deletions frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
41 changes: 41 additions & 0 deletions frontend/components/Dashboard.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import React, { useState } from "react";
import DeploymentList from "./DeploymentList";
import DeploymentForm from "./DeploymentForm";

const Dashboard = () => {
const [showDeployFormOnly, setShowDeployFormOnly] = useState(false);

return (
<main className="dashboard-main">
<div className="dashboard-header">
<button
className="btn primary-btn"
onClick={() => setShowDeployFormOnly(!showDeployFormOnly)}
>
{showDeployFormOnly ? "Show Deployments" : "Deploy"}
</button>
</div>

<div className="dashboard-body" style={{ display: "flex", gap: "1rem" }}>
{!showDeployFormOnly && (
<aside className="deployments-container" style={{ flex: "1" }}>
<h2>Deployments</h2>
<DeploymentList />
</aside>
)}
<section
className="project-setup-container"
style={{
flex: showDeployFormOnly ? "1" : "2",
transition: "flex 0.3s ease",
}}
>
<DeploymentForm />
</section>
</div>
</main>
);
};

export default Dashboard;

Loading