├── next.config.mjs
├── next-env.d.ts
├── firebase.js
├── tsconfig.json
├── SECURITY.md
├── package.json
├── LICENSE
└── README.md
/next.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {};
3 |
4 | export default nextConfig;
5 |
--------------------------------------------------------------------------------
/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/basic-features/typescript for more information.
6 |
--------------------------------------------------------------------------------
/firebase.js:
--------------------------------------------------------------------------------
1 | import { initializeApp } from 'firebase/app';
2 | import { getFirestore } from 'firebase/firestore';
3 |
4 | const firebaseConfig = {
5 | apiKey: "AIzaSyBh3C11yottdF7XuG2h5762vi4ETz_t2-0",
6 | authDomain: "pantry-tracker-a7289.firebaseapp.com",
7 | projectId: "pantry-tracker-a7289",
8 | storageBucket: "pantry-tracker-a7289.appspot.com",
9 | messagingSenderId: "619626970274",
10 | appId: "1:619626970274:web:c48864a5bb69261b566bfb",
11 | measurementId: "G-CVPKDNFG26"
12 | };
13 | const app = initializeApp(firebaseConfig);
14 | const firestore = getFirestore(app);
15 | export { firestore };
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["dom", "dom.iterable", "esnext"],
4 | "allowJs": true,
5 | "skipLibCheck": true,
6 | "strict": true,
7 | "noEmit": true,
8 | "esModuleInterop": true,
9 | "module": "esnext",
10 | "moduleResolution": "bundler",
11 | "resolveJsonModule": true,
12 | "isolatedModules": true,
13 | "jsx": "preserve",
14 | "incremental": true,
15 | "plugins": [
16 | {
17 | "name": "next"
18 | }
19 | ],
20 | "paths": {
21 | "@/*": ["./*"]
22 | }
23 | },
24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
25 | "exclude": ["node_modules"]
26 | }
27 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | Use this section to tell people about which versions of your project are
6 | currently being supported with security updates.
7 |
8 | | Version | Supported |
9 | | ------- | ------------------ |
10 | | 5.1.x | :white_check_mark: |
11 | | 5.0.x | :x: |
12 | | 4.0.x | :white_check_mark: |
13 | | < 4.0 | :x: |
14 |
15 | ## Reporting a Vulnerability
16 |
17 | Use this section to tell people how to report a vulnerability.
18 |
19 | Tell them where to go, how often they can expect to get an update on a
20 | reported vulnerability, what to expect if the vulnerability is accepted or
21 | declined, etc.
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pantry",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "@emotion/react": "^11.13.0",
13 | "@emotion/styled": "^11.13.0",
14 | "@mui/material": "^5.16.7",
15 | "firebase": "^10.13.0",
16 | "next": "14.2.5",
17 | "react": "^18",
18 | "react-dom": "^18"
19 | },
20 | "devDependencies": {
21 | "@types/node": "^20",
22 | "@types/react": "^18",
23 | "@types/react-dom": "^18",
24 | "eslint": "^8",
25 | "eslint-config-next": "14.2.5",
26 | "typescript": "^5"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Farha Kousar
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Pantry Tracker 📦🥫
2 |
3 |
4 | 
5 | 
6 | 
7 | 
8 | 
9 |
10 |
11 |
12 | Welcome to the **Pantry Tracker** project! This application helps you manage and track your pantry inventory efficiently. Built with the power of [Next.js](https://nextjs.org/), it offers a seamless experience for monitoring your stock and ensuring you never run out of essential items.
13 |
14 | ## 🚀 Getting Started
15 |
16 | To get started with the Pantry Tracker, follow these steps to set up the development environment:
17 |
18 | 1. Clone the repository:
19 |
20 | ```bash
21 | git clone https://github.com/yourusername/pantry-tracker.git
22 | cd pantry-tracker
23 | ```
24 |
25 | 2. Install the dependencies:
26 |
27 | ```bash
28 | npm install
29 | # or
30 | yarn install
31 | # or
32 | pnpm install
33 | ```
34 |
35 | 3. Run the development server:
36 |
37 | ```bash
38 | npm run dev
39 | # or
40 | yarn dev
41 | # or
42 | pnpm dev
43 | # or
44 | bun dev
45 | ```
46 |
47 | 4. Open [http://localhost:3000](http://localhost:3000) in your browser to view the application. The page auto-updates as you make changes to `app/page.tsx`.
48 |
49 | ## 🛠️ Features
50 |
51 | - **Real-Time Inventory Updates**: Easily add, remove, or update items in your pantry.
52 | - **Alerts & Notifications**: Get notified when items are running low.
53 | - **Data Visualization**: Visualize your pantry data with built-in charts and graphs.
54 | - **Customizable Categories**: Organize items based on custom categories for better tracking.
55 |
56 | ## 📝 Learn More
57 |
58 | To delve deeper into the Next.js framework, check out these resources:
59 |
60 | - [Next.js Documentation](https://nextjs.org/docs) - Explore the full range of Next.js features and API options.
61 | - [Learn Next.js](https://nextjs.org/learn) - Interactive tutorials to help you master Next.js.
62 |
63 | ## 🔗 Resources & Tutorials
64 |
65 | Here are some additional resources to help you get the most out of this project:
66 |
67 | - [OpenRouter AI Llama 3.1](https://openrouter.ai/models/meta-llama/llama-3.1-8b-instruct:free) - A powerful AI model for enhancing your app's capabilities.
68 | - [Google Cloud Vertex AI](https://cloud.google.com/vertex-ai/docs/tutorials/image-classification-automl/training) - Learn how to integrate AI for image classification.
69 | - [React Camera Pro](https://www.npmjs.com/package/react-camera-pro) - A React component to add camera functionality to your app.
70 | - [Building an Inventory Management App](https://medium.com/@billzhangsc/building-an-inventory-management-app-with-next-js-react-and-firebase-e9647a61eb82) - A detailed tutorial on building a similar app.
71 |
72 | ## 🚀 Deploy on Vercel
73 |
74 | Deploying your Pantry Tracker app is quick and easy with [Vercel](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme), the platform created by the developers of Next.js.
75 |
76 | For detailed instructions on deployment, refer to the [Next.js deployment documentation](https://nextjs.org/docs/deployment).
77 |
78 | ## 📽️ Video Tutorials
79 |
80 | - [Introduction to Pantry Tracker](https://www.youtube.com/watch?v=8jM9Gmm9Bsw)
81 | - [Setting Up Next.js for Your Project](https://www.youtube.com/watch?v=vwSlYG7hFk0)
82 | - [Implementing Custom Hooks in Next.js](https://www.youtube.com/watch?v=ZjkS11DSeEk)
83 |
84 | ## 📧 Contact
85 |
86 | For any questions, issues, or contributions, feel free to open an issue on the [GitHub repository](https://github.com/yourusername/pantry-tracker/issues) or reach out via email.
87 |
88 |
89 | We hope you find Pantry Tracker useful! Happy coding! 🎉
90 |
--------------------------------------------------------------------------------