Skip to content

Repository files navigation

PantryNode

NPMNodeJS

Build Node

Coverage Report

Description

In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.

Important Things

Code of Conduct

License

License

Contributing

See the Contributing guide if you want to find out who has contributed and how you can too!

Technology Stack

Database

  • PostgreSQL

Back-End

More Info: Back-End README

  • Express JS
  • TypeScript
  • PostgreSQL
  • Sequelize

Front-End

  • Material UI
  • CSS
  • React
  • Axios

More Info: Front-End README

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

=======

Front-End

More Info: Front-End README

  • React
  • Material UI

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

Clone this repo to your local machine.

git clone https://github.com/ChicoState/PantryNode

Set up your environment variables.

cp .env.example .env

Start

Build and start all the docker containers.

docker-compose up

Interact

You can view the frontend at: http://localhost:3000

Database Administration Console

You can access the database administration console at: http://localhost:82

You'll need to use the PGADMIN credentials from your .env file.

To connect to the running database, you'll need to add a new server to the management console by:

  • Click Add New Server.
  • Enter a name like local-pantry.
  • Navigate to the Connection tab.
  • Provide the host name.
    • Since we started both the database and this admin tool through the docker-compose file, use database for the host.
  • Make sure the Port matches the DB_PORT you set in the .env file.
  • Make sure the Username matches the DB_USER you set in the .env file.
  • Make sure the Password matches the DB_PASSWORD you set in the .env file.
  • Click Save
Test it out!
  1. Expand your database connection (local-pantry from above).
  2. Expand Databases.
  3. Expand your database name (pantrynode normally).

You can locate the tables under Schemas > public > Tables.

You can open up a query view using the icon on the top left with the Database and Play Button, then try out this query below.

SELECT*FROM person;

This will show you the emails and hashed passwords for all the registered users in this database.

TroubleShooting

If there are issues with your docker-compose setup such as packages that are not installed, you can try to rebuild the container.

docker-compose up --build

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - ChicoState/PantryNode · GitHub
Skip to content

Repository files navigation

PantryNode

NPMNodeJS

Build Node

Coverage Report

Description

In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.

Important Things

Code of Conduct

License

License

Contributing

See the Contributing guide if you want to find out who has contributed and how you can too!

Technology Stack

Database

  • PostgreSQL

Back-End

More Info: Back-End README

  • Express JS
  • TypeScript
  • PostgreSQL
  • Sequelize

Front-End

  • Material UI
  • CSS
  • React
  • Axios

More Info: Front-End README

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

=======

Front-End

More Info: Front-End README

  • React
  • Material UI

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

Clone this repo to your local machine.

git clone https://github.com/ChicoState/PantryNode

Set up your environment variables.

cp .env.example .env

Start

Build and start all the docker containers.

docker-compose up

Interact

You can view the frontend at: http://localhost:3000

Database Administration Console

You can access the database administration console at: http://localhost:82

You'll need to use the PGADMIN credentials from your .env file.

To connect to the running database, you'll need to add a new server to the management console by:

  • Click Add New Server.
  • Enter a name like local-pantry.
  • Navigate to the Connection tab.
  • Provide the host name.
    • Since we started both the database and this admin tool through the docker-compose file, use database for the host.
  • Make sure the Port matches the DB_PORT you set in the .env file.
  • Make sure the Username matches the DB_USER you set in the .env file.
  • Make sure the Password matches the DB_PASSWORD you set in the .env file.
  • Click Save
Test it out!
  1. Expand your database connection (local-pantry from above).
  2. Expand Databases.
  3. Expand your database name (pantrynode normally).

You can locate the tables under Schemas > public > Tables.

You can open up a query view using the icon on the top left with the Database and Play Button, then try out this query below.

SELECT*FROM person;

This will show you the emails and hashed passwords for all the registered users in this database.

TroubleShooting

If there are issues with your docker-compose setup such as packages that are not installed, you can try to rebuild the container.

docker-compose up --build

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ChicoState/PantryNode · GitHub
Skip to content

Repository files navigation

PantryNode

NPMNodeJS

Build Node

Coverage Report

Description

In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.

Important Things

Code of Conduct

License

License

Contributing

See the Contributing guide if you want to find out who has contributed and how you can too!

Technology Stack

Database

  • PostgreSQL

Back-End

More Info: Back-End README

  • Express JS
  • TypeScript
  • PostgreSQL
  • Sequelize

Front-End

  • Material UI
  • CSS
  • React
  • Axios

More Info: Front-End README

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

=======

Front-End

More Info: Front-End README

  • React
  • Material UI

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

Clone this repo to your local machine.

git clone https://github.com/ChicoState/PantryNode

Set up your environment variables.

cp .env.example .env

Start

Build and start all the docker containers.

docker-compose up

Interact

You can view the frontend at: http://localhost:3000

Database Administration Console

You can access the database administration console at: http://localhost:82

You'll need to use the PGADMIN credentials from your .env file.

To connect to the running database, you'll need to add a new server to the management console by:

  • Click Add New Server.
  • Enter a name like local-pantry.
  • Navigate to the Connection tab.
  • Provide the host name.
    • Since we started both the database and this admin tool through the docker-compose file, use database for the host.
  • Make sure the Port matches the DB_PORT you set in the .env file.
  • Make sure the Username matches the DB_USER you set in the .env file.
  • Make sure the Password matches the DB_PASSWORD you set in the .env file.
  • Click Save
Test it out!
  1. Expand your database connection (local-pantry from above).
  2. Expand Databases.
  3. Expand your database name (pantrynode normally).

You can locate the tables under Schemas > public > Tables.

You can open up a query view using the icon on the top left with the Database and Play Button, then try out this query below.

SELECT*FROM person;

This will show you the emails and hashed passwords for all the registered users in this database.

TroubleShooting

If there are issues with your docker-compose setup such as packages that are not installed, you can try to rebuild the container.

docker-compose up --build

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ChicoState/PantryNode · GitHub
Skip to content

Repository files navigation

PantryNode

NPMNodeJS

Build Node

Coverage Report

Description

In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.

Important Things

Code of Conduct

License

License

Contributing

See the Contributing guide if you want to find out who has contributed and how you can too!

Technology Stack

Database

  • PostgreSQL

Back-End

More Info: Back-End README

  • Express JS
  • TypeScript
  • PostgreSQL
  • Sequelize

Front-End

  • Material UI
  • CSS
  • React
  • Axios

More Info: Front-End README

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

=======

Front-End

More Info: Front-End README

  • React
  • Material UI

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

Clone this repo to your local machine.

git clone https://github.com/ChicoState/PantryNode

Set up your environment variables.

cp .env.example .env

Start

Build and start all the docker containers.

docker-compose up

Interact

You can view the frontend at: http://localhost:3000

Database Administration Console

You can access the database administration console at: http://localhost:82

You'll need to use the PGADMIN credentials from your .env file.

To connect to the running database, you'll need to add a new server to the management console by:

  • Click Add New Server.
  • Enter a name like local-pantry.
  • Navigate to the Connection tab.
  • Provide the host name.
    • Since we started both the database and this admin tool through the docker-compose file, use database for the host.
  • Make sure the Port matches the DB_PORT you set in the .env file.
  • Make sure the Username matches the DB_USER you set in the .env file.
  • Make sure the Password matches the DB_PASSWORD you set in the .env file.
  • Click Save
Test it out!
  1. Expand your database connection (local-pantry from above).
  2. Expand Databases.
  3. Expand your database name (pantrynode normally).

You can locate the tables under Schemas > public > Tables.

You can open up a query view using the icon on the top left with the Database and Play Button, then try out this query below.

SELECT*FROM person;

This will show you the emails and hashed passwords for all the registered users in this database.

TroubleShooting

If there are issues with your docker-compose setup such as packages that are not installed, you can try to rebuild the container.

docker-compose up --build

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - ChicoState/PantryNode · GitHub
Skip to content

Repository files navigation

PantryNode

NPMNodeJS

Build Node

Coverage Report

Description

In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.

Important Things

Code of Conduct

License

License

Contributing

See the Contributing guide if you want to find out who has contributed and how you can too!

Technology Stack

Database

  • PostgreSQL

Back-End

More Info: Back-End README

  • Express JS
  • TypeScript
  • PostgreSQL
  • Sequelize

Front-End

  • Material UI
  • CSS
  • React
  • Axios

More Info: Front-End README

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

=======

Front-End

More Info: Front-End README

  • React
  • Material UI

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

Clone this repo to your local machine.

git clone https://github.com/ChicoState/PantryNode

Set up your environment variables.

cp .env.example .env

Start

Build and start all the docker containers.

docker-compose up

Interact

You can view the frontend at: http://localhost:3000

Database Administration Console

You can access the database administration console at: http://localhost:82

You'll need to use the PGADMIN credentials from your .env file.

To connect to the running database, you'll need to add a new server to the management console by:

  • Click Add New Server.
  • Enter a name like local-pantry.
  • Navigate to the Connection tab.
  • Provide the host name.
    • Since we started both the database and this admin tool through the docker-compose file, use database for the host.
  • Make sure the Port matches the DB_PORT you set in the .env file.
  • Make sure the Username matches the DB_USER you set in the .env file.
  • Make sure the Password matches the DB_PASSWORD you set in the .env file.
  • Click Save
Test it out!
  1. Expand your database connection (local-pantry from above).
  2. Expand Databases.
  3. Expand your database name (pantrynode normally).

You can locate the tables under Schemas > public > Tables.

You can open up a query view using the icon on the top left with the Database and Play Button, then try out this query below.

SELECT*FROM person;

This will show you the emails and hashed passwords for all the registered users in this database.

TroubleShooting

If there are issues with your docker-compose setup such as packages that are not installed, you can try to rebuild the container.

docker-compose up --build

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ChicoState/PantryNode · GitHub
Skip to content

Repository files navigation

PantryNode

NPMNodeJS

Build Node

Coverage Report

Description

In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.

Important Things

Code of Conduct

License

License

Contributing

See the Contributing guide if you want to find out who has contributed and how you can too!

Technology Stack

Database

  • PostgreSQL

Back-End

More Info: Back-End README

  • Express JS
  • TypeScript
  • PostgreSQL
  • Sequelize

Front-End

  • Material UI
  • CSS
  • React
  • Axios

More Info: Front-End README

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

=======

Front-End

More Info: Front-End README

  • React
  • Material UI

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

Clone this repo to your local machine.

git clone https://github.com/ChicoState/PantryNode

Set up your environment variables.

cp .env.example .env

Start

Build and start all the docker containers.

docker-compose up

Interact

You can view the frontend at: http://localhost:3000

Database Administration Console

You can access the database administration console at: http://localhost:82

You'll need to use the PGADMIN credentials from your .env file.

To connect to the running database, you'll need to add a new server to the management console by:

  • Click Add New Server.
  • Enter a name like local-pantry.
  • Navigate to the Connection tab.
  • Provide the host name.
    • Since we started both the database and this admin tool through the docker-compose file, use database for the host.
  • Make sure the Port matches the DB_PORT you set in the .env file.
  • Make sure the Username matches the DB_USER you set in the .env file.
  • Make sure the Password matches the DB_PASSWORD you set in the .env file.
  • Click Save
Test it out!
  1. Expand your database connection (local-pantry from above).
  2. Expand Databases.
  3. Expand your database name (pantrynode normally).

You can locate the tables under Schemas > public > Tables.

You can open up a query view using the icon on the top left with the Database and Play Button, then try out this query below.

SELECT*FROM person;

This will show you the emails and hashed passwords for all the registered users in this database.

TroubleShooting

If there are issues with your docker-compose setup such as packages that are not installed, you can try to rebuild the container.

docker-compose up --build

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); GitHub - ChicoState/PantryNode · GitHub
Skip to content

Repository files navigation

PantryNode

NPMNodeJS

Build Node

Coverage Report

Description

In this project, we have implemented food pantry management using a NodeJS-based web framework. This project allows the organizations to keep track of the food items available and utilized by community members. It ensures the control of pantry services for the staff and administration. The application also helps to keep track of donations from various sources and effectively visualize the records.

Important Things

Code of Conduct

License

License

Contributing

See the Contributing guide if you want to find out who has contributed and how you can too!

Technology Stack

Database

  • PostgreSQL

Back-End

More Info: Back-End README

  • Express JS
  • TypeScript
  • PostgreSQL
  • Sequelize

Front-End

  • Material UI
  • CSS
  • React
  • Axios

More Info: Front-End README

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

=======

Front-End

More Info: Front-End README

  • React
  • Material UI

Features

Dashboard System

This project implements a dashboard system for various operations, like checkout students, stock management, and donation tracking.

Stock Management

This functionality allows to add the stock and maintain the record for various type of donations by category i.e., Anonymous, Organization, and Pantry Purchased.

Additionally, Allowing to manage the purchase and expiry of the stock.

Sales Report

The sales report allows the admin or the pantry organization to visualize the stock, expiry, and waste management. It also helps to keep the count of various parameters such as students count, expired item count, available item count, and utilized item count.

Development

This project is currently build with 3 major components. A database, a backend, and a frontend. All are able to run inside of containers. You can find instructions to run each locally, outside of containers, in their respective READMEs. In this section we'll use docker-compose to get the full application running.

First Run

Clone this repo to your local machine.

git clone https://github.com/ChicoState/PantryNode

Set up your environment variables.

cp .env.example .env

Start

Build and start all the docker containers.

docker-compose up

Interact

You can view the frontend at: http://localhost:3000

Database Administration Console

You can access the database administration console at: http://localhost:82

You'll need to use the PGADMIN credentials from your .env file.

To connect to the running database, you'll need to add a new server to the management console by:

  • Click Add New Server.
  • Enter a name like local-pantry.
  • Navigate to the Connection tab.
  • Provide the host name.
    • Since we started both the database and this admin tool through the docker-compose file, use database for the host.
  • Make sure the Port matches the DB_PORT you set in the .env file.
  • Make sure the Username matches the DB_USER you set in the .env file.
  • Make sure the Password matches the DB_PASSWORD you set in the .env file.
  • Click Save
Test it out!
  1. Expand your database connection (local-pantry from above).
  2. Expand Databases.
  3. Expand your database name (pantrynode normally).

You can locate the tables under Schemas > public > Tables.

You can open up a query view using the icon on the top left with the Database and Play Button, then try out this query below.

SELECT*FROM person;

This will show you the emails and hashed passwords for all the registered users in this database.

TroubleShooting

If there are issues with your docker-compose setup such as packages that are not installed, you can try to rebuild the container.

docker-compose up --build

About

No description or website provided.

Topics

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages