Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disabling Auto-imports #12

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
ebc23f1
Adding entries schema
julwrites Feb 3, 2024
3bd0fd8
Attempting a full rebuild from nuxt3 init
julwrites Aug 4, 2024
6378ebc
Rebuild from nuxt3 minimal starter
julwrites Aug 4, 2024
a34a623
Adding login and additional functionality around user management
julwrites Aug 9, 2024
60f5aaa
Fixing database sync issue for Expenses
julwrites Aug 9, 2024
1089138
Updating users database with sync fix
julwrites Aug 9, 2024
e3b55fc
Adding icons and edit feature for expenses
julwrites Aug 10, 2024
d665432
Adding approval flow for users, and categories can be defined
julwrites Aug 10, 2024
9bd0ba2
Some code cleanup and editing of entries with the same form as adding
julwrites Aug 10, 2024
f8fe102
Fixing category update issue
julwrites Aug 10, 2024
e4323be
Merge pull request #6 from julwrites/rebuild
julwrites Aug 10, 2024
60f6c7f
Swapping debit and credit
julwrites Aug 12, 2024
e5b85ed
Adding some styling for all the pages using Nuxt UI
julwrites Sep 2, 2024
64ac151
Cleaning up docker
julwrites Sep 2, 2024
bedfaf8
Styling first cut with Claude
julwrites Sep 3, 2024
b2ef991
Making styling consistent and readable on mobile
julwrites Sep 3, 2024
39abe06
Fixing a bunch of styling problems on the expense list
julwrites Sep 6, 2024
924391f
Fixing data direction and filters, and adding numbers to charts
julwrites Sep 7, 2024
f207096
Pre-fill date field for convenience
julwrites Sep 10, 2024
5a1f6c4
Removing unnecessary steps from CI
julwrites Sep 10, 2024
e60229c
Fixing bug in default date and consolidating default expense value
julwrites Sep 10, 2024
943d15e
Updating to fix persistence issue and switching to sqlite
julwrites Sep 15, 2024
ac9a79c
Standardizing db paths and docker-compose to traefik
julwrites Sep 15, 2024
e42f1a3
Switching method for first admin user to instead be an env var setup
julwrites Sep 15, 2024
1c21708
Shifting to traefik network
julwrites Sep 15, 2024
999139c
Adding some new admin flows for adding user and first login
julwrites Oct 3, 2024
3f6fb49
Fixing password encryption mismatch and user flow for first login
julwrites Oct 3, 2024
de8ab5c
Fixing some minor issues around login and new user flows
julwrites Oct 3, 2024
f51a5cf
Fixing bugs in admin functions
julwrites Oct 3, 2024
f31ade6
Sorting categories
julwrites Oct 12, 2024
c0e9075
Refactoring categories to sort by ID and Name
julwrites Oct 13, 2024
36c2043
Fixing categories sorting
julwrites Oct 13, 2024
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
Binary file added .DS_Store
Binary file not shown.
7 changes: 7 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# .dockerignore
/.nuxt
/.output
/node_modules

.gitignore
README.md
10 changes: 2 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,5 @@ jobs:
- name: 📦 Install dependencies
run: pnpm install --frozen-lockfile

- name: 🚧 Set up project
run: pnpm nuxi prepare

- name: 📝 Lint
run: pnpm lint

- name: 💪 Type check
run: pnpm typecheck
- name: 🚧 Build project
run: pnpm run build
29 changes: 4 additions & 25 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,29 +1,8 @@
# Nuxt dev/build outputs
.output
.nuxt
.nitro
.cache
dist

# Node dependencies
pnpm-lock.yaml
node_modules

# Logs
logs
*.log

# Misc
.DS_Store
.fleet
.idea

# Local env files
.nuxt
.output
.env
.env.*
!.env.example

# SQLite files
*.db

# ESLint
.eslintcache
data
1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

26 changes: 26 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Use an official Node runtime as the base image
FROM node:22-bookworm-slim

# Set the working directory in the container
WORKDIR /app

# Copy package.json and pnpm-lock.yaml
COPY package.json ./

# Install pnpm globally
RUN npm install -g pnpm

# Copy the rest of the application code
COPY . .

# Install dependencies
RUN pnpm install

# Build the application
RUN pnpm run build

# Expose the port the app runs on
EXPOSE 3000

# Set the command to run the app
CMD ["node", ".output/server/index.mjs"]
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ pnpm install

# yarn
yarn install

# bun
bun install
```

## Development Server
Expand All @@ -30,6 +33,9 @@ pnpm run dev

# yarn
yarn dev

# bun
bun run dev
```

## Production
Expand All @@ -45,6 +51,9 @@ pnpm run build

# yarn
yarn build

# bun
bun run build
```

Locally preview production build:
Expand All @@ -58,6 +67,9 @@ pnpm run preview

# yarn
yarn preview

# bun
bun run preview
```

Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
6 changes: 0 additions & 6 deletions app.config.ts

This file was deleted.

9 changes: 4 additions & 5 deletions app.vue
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
<template>
<div class="dark:bg-neutral-900 h-screen">
<VitePwaManifest />
<UContainer>
<NuxtPwaManifest />
<NuxtLoadingIndicator />
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
<UNotifications />
</div>
</template>
</UContainer>
</template>
191 changes: 191 additions & 0 deletions assets/css/global.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
/* global.css */

:root {
/* Color Palette */
--color-primary: #007bff;
--color-primary-dark: #0056b3;
--color-secondary: #6c757d;
--color-success: #28a745;
--color-danger: #dc3545;
--color-warning: #ffc107;
--color-info: #17a2b8;
--color-light: #f8f9fa;
--color-dark: #343a40;

/* Typography */
--font-family: 'Arial', sans-serif;
--font-size-base: 16px;
--font-size-sm: 14px;
--font-size-lg: 18px;
--font-weight-normal: 400;
--font-weight-bold: 700;

/* Spacing */
--spacing-xs: 4px;
--spacing-sm: 8px;
--spacing-md: 16px;
--spacing-lg: 24px;
--spacing-xl: 32px;

/* Border */
--border-radius: 4px;
--border-color: #e2e8f0;

/* Box Shadow */
--box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);

/* Transitions */
--transition-speed: 0.3s;
}

/* Base Styles */
body {
font-family: var(--font-family);
font-size: var(--font-size-base);
line-height: 1.5;
color: var(--color-dark);
background-color: var(--color-light);
}

h1, h2, h3, h4, h5, h6 {
margin-bottom: var(--spacing-md);
font-weight: var(--font-weight-bold);
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

/* Container */
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}

/* Forms */
.form-group {
margin-bottom: var(--spacing-md);
}

.form-label {
display: block;
margin-bottom: var(--spacing-xs);
font-weight: var(--font-weight-bold);
}

.form-input {
width: 100%;
padding: var(--spacing-sm);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
font-size: var(--font-size-base);
}

/* Buttons */
.btn {
display: inline-block;
padding: var(--spacing-sm) var(--spacing-md);
border: none;
border-radius: var(--border-radius);
font-size: var(--font-size-base);
font-weight: var(--font-weight-bold);
text-align: center;
text-decoration: none;
cursor: pointer;
transition: background-color var(--transition-speed);
}

.btn-primary {
color: white;
background-color: var(--color-primary);
}

.btn-primary:hover {
background-color: var(--color-primary-dark);
}

/* Cards */
.card {
background-color: white;
border-radius: var(--border-radius);
box-shadow: var(--box-shadow);
padding: var(--spacing-lg);
margin-bottom: var(--spacing-lg);
}

/* Tables */
.table {
width: 100%;
border-collapse: collapse;
margin-bottom: var(--spacing-lg);
}

.table th,
.table td {
padding: var(--spacing-sm);
border-bottom: 1px solid var(--border-color);
text-align: left;
}

.table th {
background-color: var(--color-light);
font-weight: var(--font-weight-bold);
}

/* Tabs */
.tabs {
display: flex;
border-bottom: 1px solid var(--border-color);
margin-bottom: var(--spacing-lg);
}

.tab {
padding: var(--spacing-sm) var(--spacing-md);
cursor: pointer;
border-bottom: 2px solid transparent;
}

.tab.active {
border-bottom-color: var(--color-primary);
}

/* Utilities */
.text-center { text-align: center; }
.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }

/* Responsive */
@media (max-width: 768px) {
:root {
--font-size-base: 14px;
}

.container {
padding: 0 var(--spacing-sm);
}
}

/* Dark Mode */
@media (prefers-color-scheme: dark) {
:root {
--color-light: #1a202c;
--color-dark: #f7fafc;
--border-color: #2d3748;
}

body {
background-color: var(--color-light);
color: var(--color-dark);
}

.card,
.table th {
background-color: #2d3748;
}
}
Loading
Loading