| -rw-r--r-- | .dockerignore | 7L |
| -rw-r--r-- | .env.example | 4L |
| -rw-r--r-- | .eslintrc.js | 21L |
| -rw-r--r-- | .gitignore | 11L |
| -rw-r--r-- | .npmrc | 1L |
| -rw-r--r-- | .prettierignore | 11L |
| -rw-r--r-- | Dockerfile | 52L |
| -rw-r--r-- | README.md | 78L |
| -rw-r--r-- | app/components/FoodEntries.tsx | 68L |
| -rw-r--r-- | app/components/Heading.tsx | 3L |
| -rw-r--r-- | app/components/MainNavigation.tsx | 90L |
| -rw-r--r-- | app/components/SubHeading.tsx | 7L |
| -rw-r--r-- | app/components/forms/Form.tsx | 17L |
| -rw-r--r-- | app/components/forms/Input.tsx | 47L |
| -rw-r--r-- | app/components/forms/InputCombobox.tsx | 67L |
| -rw-r--r-- | app/components/forms/InputError.tsx | 12L |
| -rw-r--r-- | app/components/forms/PrimaryButton.tsx | 10L |
| -rw-r--r-- | app/components/forms/PrimaryLink.tsx | 13L |
| -rw-r--r-- | app/components/layouts/CenteredLayout.tsx | 13L |
| -rw-r--r-- | app/components/layouts/Timeline.tsx | 25L |
| -rw-r--r-- | app/components/layouts/TwoColumnsLayout.tsx | 19L |
| -rw-r--r-- | app/controllers/adminReport.server.ts | 48L |
| -rw-r--r-- | app/controllers/food.server.ts | 48L |
| -rw-r--r-- | app/controllers/foodEntry.server.ts | 182L |
| -rw-r--r-- | app/controllers/login.server.ts | 36L |
| -rw-r--r-- | app/controllers/report.server.ts | 30L |
| -rw-r--r-- | app/controllers/userInvite.server.ts | 25L |
| -rw-r--r-- | app/db.server.ts | 36L |
| -rw-r--r-- | app/entry.client.tsx | 22L |
| -rw-r--r-- | app/entry.server.tsx | 53L |
| -rw-r--r-- | app/models/foodEntry.server.ts | 103L |
| -rw-r--r-- | app/models/user.server.ts | 24L |
| -rw-r--r-- | app/root.tsx | 114L |
| -rw-r--r-- | app/routes/admin/report.tsx | 54L |
| -rw-r--r-- | app/routes/api/food-entries/$id.ts | 20L |
| -rw-r--r-- | app/routes/api/food-entries/index.ts | 17L |
| -rw-r--r-- | app/routes/api/foods/$name.ts | 6L |
| -rw-r--r-- | app/routes/api/foods/index.ts | 6L |
| -rw-r--r-- | app/routes/food-entries.tsx | 43L |
| -rw-r--r-- | app/routes/food-entries/$id.tsx | 88L |
| -rw-r--r-- | app/routes/food-entries/index.tsx | 15L |
| -rw-r--r-- | app/routes/food-entries/new.tsx | 105L |
| -rw-r--r-- | app/routes/index.tsx | 9L |
| -rw-r--r-- | app/routes/invite/index.tsx | 42L |
| -rw-r--r-- | app/routes/invite/success.tsx | 16L |
| -rw-r--r-- | app/routes/login.tsx | 36L |
| -rw-r--r-- | app/routes/logout.tsx | 11L |
| -rw-r--r-- | app/routes/report.tsx | 57L |
| -rw-r--r-- | app/schemas/foodEntry.ts | 44L |
| -rw-r--r-- | app/schemas/login.ts | 12L |
| -rw-r--r-- | app/schemas/userInvite.ts | 16L |
| -rw-r--r-- | app/services/nutritionix.server.ts | 65L |
| -rw-r--r-- | app/session.server.ts | 102L |
| -rw-r--r-- | app/utils.test.ts | 7L |
| -rw-r--r-- | app/utils/date.ts | 77L |
| -rw-r--r-- | app/utils/hooks.ts | 42L |
| -rw-r--r-- | cypress.config.ts | 28L |
| -rw-r--r-- | cypress/.eslintrc.js | 6L |
| -rw-r--r-- | cypress/e2e/smoke.cy.ts | 80L |
| -rw-r--r-- | cypress/fixtures/example.json | 5L |
| -rw-r--r-- | cypress/support/commands.ts | 97L |
| -rw-r--r-- | cypress/support/create-user.ts | 35L |
| -rw-r--r-- | cypress/support/delete-user.ts | 34L |
| -rw-r--r-- | cypress/support/e2e.ts | 15L |
| -rw-r--r-- | cypress/tsconfig.json | 29L |
| -rw-r--r-- | demo.mp4 | 22008243B |
| -rw-r--r-- | docker-compose.yml | 13L |
| -rw-r--r-- | mocks/README.md | 7L |
| -rw-r--r-- | mocks/index.js | 9L |
| -rw-r--r-- | package-lock.json | 29987L |
| -rw-r--r-- | package.json | 108L |
| -rw-r--r-- | prisma/schema.prisma | 38L |
| -rw-r--r-- | prisma/seed.ts | 149L |
| -rw-r--r-- | public/favicon.ico | 16958B |
| -rw-r--r-- | remix.config.js | 7L |
| -rw-r--r-- | remix.env.d.ts | 2L |
| -rw-r--r-- | server.ts | 105L |
| -rw-r--r-- | tailwind.config.js | 8L |
| -rw-r--r-- | test/setup-test-env.ts | 4L |
| -rw-r--r-- | tsconfig.json | 26L |
| -rw-r--r-- | vitest.config.ts | 21L |