Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

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 - dvsshadow/COVIDA: COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups. · GitHub
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

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 - dvsshadow/COVIDA: COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups. · GitHub
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

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 - dvsshadow/COVIDA: COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups. · GitHub
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

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 - dvsshadow/COVIDA: COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups. · GitHub
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

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 - dvsshadow/COVIDA: COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups. · GitHub
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

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); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - dvsshadow/COVIDA: COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups. · GitHub
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - dvsshadow/COVIDA: COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups. · GitHub
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

COVIDA (PI Project)

Overview

Chelas Open VIDeogame Application (COVIDA) is a web application that allows users to search and browse videogames with the possibility of inserting and managing them into groups.

The groups are made by the user and are restricted to its owner. These can be customized with a name, description and a selection of games. The Web Application provides an authentication functionality for users to create and log into their accounts.

The application was developed in Node.js and uses the express module to handle HTTP requests. All the data is stored through the use of Elasticsearch. The information about videogames is gathered through the IGDB API.

Table of Contents

Functionalities

COVIDA exposes the following functionalities:

  • Functional and responsive Web Application to manage user created videogame groups
  • Accessible HTTP API in paths preceded with /api/covida
  • Authentication feature
    • Possibility to create accounts
    • Sign into your account
    • Delete your account
  • List the top videogames
    • Number of results shown can be customizable
    • Possibility to add videogames to groups
  • Search for videogames by name
  • Manage your groups
    • Create, Edit and Delete
    • Manage videogames (Add/Delete/List)

Preview

Authentication-Preview.mp4
Games-Preview.mp4
Groups-Preview.mp4

Requirements

Before running the application, the following steps are necessary:

Elasticsearch

The application requires to store information about the users and its respective videogame groups. In order to store this data, the NoSQL database Elasticsearch was chosen.

Before running the application, do the following steps:

  1. Download and unzip Elasticsearch from here
  2. Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

Make sure the Elasticsearch window is always open while running the Web Application

A more detailed guide is available here.

IGDB API

Twitch provides a free API which shares data about videogames. This data includes information such as videogames, their rating, number of followers, and much more.

In order to use the IGDB API there needs to be a registration of a Twitch Developer Application. With an application, a Client ID and Client Secret is provided. These two are necessary in order to obtain an access token that will be used to perform requests to the API.

COVIDA utilizes environment variables to store the IGDB application Client's ID and its respective access token. In order to obtain these, the following steps are required:

Create a Twitch Developer Application

  1. Sign Up to Twitch Developer Console here
  2. Ensure your twitch account has Two Factor Authentication enabled
  3. Register your application
  4. Manage your newly created application
  5. Generate a Client Secret by pressing [New Secret]
  6. Take note of the Client ID and Client Secret

Request an Access Token

To obtain an Access Token make a POST request to https://id.twitch.tv/oauth2/token with the following query string parameters, substituting your Client ID and Client Secret accordingly.

client_id=Your_Client_ID
client_secret=Your_Client_Secret
grant_type=client_credentials

A more detailed guide is available here.

Setup the Environment Variables

After retrieving the application Client's ID and a valid access token, setup the following environment variables:

COVIDA_CLIENT_ID=YOUR_CLIENT_ID
COVIDA_AUTHORIZATION=YOUR_ACCESS_TOKEN

Run The Application

After setting up all the requirements, the application can be run. Make sure Node.js is installed on your machine!

Install the dependencies

Firstly, the application dependencies need to be installed.

To do this, execute the following command in the /app directory:

npm install

Run the tests

To assure the application functions correctly there were developed unit tests and integration tests.

Although not necessary, if you desire to run the tests, execute the following command:

npm run test

Run the Web Application

The Web Application provides two optional parameters to run the App:

  • The port where the HTTP Server communicates (8000 if omitted)
  • The Elasticsearch index used to store data ('covida-groups' if omitted)

There are two ways to change the default port. You can either define the environment variable COVIDA_PORT or put it as a first argument while running the application. The Elasticsearch index used can be changed through the second argument.

To run the web application, execute the following command:

npm start [PORT] [ELASTICSEARCH_INDEX]

Credits

This application was developed for the Internet Programming class (5th semester) at ISEL.

Developed by:

About

COVIDA is a web application that allows users to browse videogames, inserting and managing them into groups.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages