Skip to content

Repository files navigation


DEV

DevWars API

The Human Layer of the Stack

nodejs versionexpressjs versiontypescript versiontypeorm versionpostgres versionDependabot Badge

Welcome to the DevWars API codebase. This is the core backbone and interface for the day to day running of the DevWars platform.

What is DevWars?

DevWars.tv is a live game show for developers that is currently streamed on Twitch. People of all levels participate in an exhilarating battle to create the best website they can within 60 minutes. Teams are formed of 3 people, with the team's members each controlling a single language - HTML, CSS and JavaScript.

Getting Started

Prerequisites

Dependency Installation

Run npm install to install dependent node_modules.

Environment Variables

Make a copy of the .env.example file in the same directory and rename the given file to .env. This will be loaded up into the application when it first starts running. These are required configuration settings to ensure correct function. Process through the newly created file and make the required changes if needed.

Seeding The Database

Once you have everything setup in the environment variables folder, you will be able to seed the database. This process will generate fake data that will allow testing and usage of the API.

run npm run seed

Testing

Running npm run test will start the testing process, using the second set of connection details within the .env file. This process is enforced as a git hook before committing code.

Development

Running npm run dev will start a development server that will automatically restart when changes occur. Additionally running npm run dev:break will allow development with the inspector attached.

Contributors

This project exists thanks to all the people who contribute. We encourage you to contribute to DevWars but ensure to open a related issue first. Please check out the contributing to DevWars guide for guidelines about how to proceed.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

DevWars Node API

Resources

Contributing

Stars

14 stars

Watchers

1 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 - DevWars/devwars-api: DevWars Node API · GitHub
Skip to content

Repository files navigation


DEV

DevWars API

The Human Layer of the Stack

nodejs versionexpressjs versiontypescript versiontypeorm versionpostgres versionDependabot Badge

Welcome to the DevWars API codebase. This is the core backbone and interface for the day to day running of the DevWars platform.

What is DevWars?

DevWars.tv is a live game show for developers that is currently streamed on Twitch. People of all levels participate in an exhilarating battle to create the best website they can within 60 minutes. Teams are formed of 3 people, with the team's members each controlling a single language - HTML, CSS and JavaScript.

Getting Started

Prerequisites

Dependency Installation

Run npm install to install dependent node_modules.

Environment Variables

Make a copy of the .env.example file in the same directory and rename the given file to .env. This will be loaded up into the application when it first starts running. These are required configuration settings to ensure correct function. Process through the newly created file and make the required changes if needed.

Seeding The Database

Once you have everything setup in the environment variables folder, you will be able to seed the database. This process will generate fake data that will allow testing and usage of the API.

run npm run seed

Testing

Running npm run test will start the testing process, using the second set of connection details within the .env file. This process is enforced as a git hook before committing code.

Development

Running npm run dev will start a development server that will automatically restart when changes occur. Additionally running npm run dev:break will allow development with the inspector attached.

Contributors

This project exists thanks to all the people who contribute. We encourage you to contribute to DevWars but ensure to open a related issue first. Please check out the contributing to DevWars guide for guidelines about how to proceed.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

DevWars Node API

Resources

Contributing

Stars

14 stars

Watchers

1 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 - DevWars/devwars-api: DevWars Node API · GitHub
Skip to content

Repository files navigation


DEV

DevWars API

The Human Layer of the Stack

nodejs versionexpressjs versiontypescript versiontypeorm versionpostgres versionDependabot Badge

Welcome to the DevWars API codebase. This is the core backbone and interface for the day to day running of the DevWars platform.

What is DevWars?

DevWars.tv is a live game show for developers that is currently streamed on Twitch. People of all levels participate in an exhilarating battle to create the best website they can within 60 minutes. Teams are formed of 3 people, with the team's members each controlling a single language - HTML, CSS and JavaScript.

Getting Started

Prerequisites

Dependency Installation

Run npm install to install dependent node_modules.

Environment Variables

Make a copy of the .env.example file in the same directory and rename the given file to .env. This will be loaded up into the application when it first starts running. These are required configuration settings to ensure correct function. Process through the newly created file and make the required changes if needed.

Seeding The Database

Once you have everything setup in the environment variables folder, you will be able to seed the database. This process will generate fake data that will allow testing and usage of the API.

run npm run seed

Testing

Running npm run test will start the testing process, using the second set of connection details within the .env file. This process is enforced as a git hook before committing code.

Development

Running npm run dev will start a development server that will automatically restart when changes occur. Additionally running npm run dev:break will allow development with the inspector attached.

Contributors

This project exists thanks to all the people who contribute. We encourage you to contribute to DevWars but ensure to open a related issue first. Please check out the contributing to DevWars guide for guidelines about how to proceed.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

DevWars Node API

Resources

Contributing

Stars

14 stars

Watchers

1 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 - DevWars/devwars-api: DevWars Node API · GitHub
Skip to content

Repository files navigation


DEV

DevWars API

The Human Layer of the Stack

nodejs versionexpressjs versiontypescript versiontypeorm versionpostgres versionDependabot Badge

Welcome to the DevWars API codebase. This is the core backbone and interface for the day to day running of the DevWars platform.

What is DevWars?

DevWars.tv is a live game show for developers that is currently streamed on Twitch. People of all levels participate in an exhilarating battle to create the best website they can within 60 minutes. Teams are formed of 3 people, with the team's members each controlling a single language - HTML, CSS and JavaScript.

Getting Started

Prerequisites

Dependency Installation

Run npm install to install dependent node_modules.

Environment Variables

Make a copy of the .env.example file in the same directory and rename the given file to .env. This will be loaded up into the application when it first starts running. These are required configuration settings to ensure correct function. Process through the newly created file and make the required changes if needed.

Seeding The Database

Once you have everything setup in the environment variables folder, you will be able to seed the database. This process will generate fake data that will allow testing and usage of the API.

run npm run seed

Testing

Running npm run test will start the testing process, using the second set of connection details within the .env file. This process is enforced as a git hook before committing code.

Development

Running npm run dev will start a development server that will automatically restart when changes occur. Additionally running npm run dev:break will allow development with the inspector attached.

Contributors

This project exists thanks to all the people who contribute. We encourage you to contribute to DevWars but ensure to open a related issue first. Please check out the contributing to DevWars guide for guidelines about how to proceed.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

DevWars Node API

Resources

Contributing

Stars

14 stars

Watchers

1 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 - DevWars/devwars-api: DevWars Node API · GitHub
Skip to content

Repository files navigation


DEV

DevWars API

The Human Layer of the Stack

nodejs versionexpressjs versiontypescript versiontypeorm versionpostgres versionDependabot Badge

Welcome to the DevWars API codebase. This is the core backbone and interface for the day to day running of the DevWars platform.

What is DevWars?

DevWars.tv is a live game show for developers that is currently streamed on Twitch. People of all levels participate in an exhilarating battle to create the best website they can within 60 minutes. Teams are formed of 3 people, with the team's members each controlling a single language - HTML, CSS and JavaScript.

Getting Started

Prerequisites

Dependency Installation

Run npm install to install dependent node_modules.

Environment Variables

Make a copy of the .env.example file in the same directory and rename the given file to .env. This will be loaded up into the application when it first starts running. These are required configuration settings to ensure correct function. Process through the newly created file and make the required changes if needed.

Seeding The Database

Once you have everything setup in the environment variables folder, you will be able to seed the database. This process will generate fake data that will allow testing and usage of the API.

run npm run seed

Testing

Running npm run test will start the testing process, using the second set of connection details within the .env file. This process is enforced as a git hook before committing code.

Development

Running npm run dev will start a development server that will automatically restart when changes occur. Additionally running npm run dev:break will allow development with the inspector attached.

Contributors

This project exists thanks to all the people who contribute. We encourage you to contribute to DevWars but ensure to open a related issue first. Please check out the contributing to DevWars guide for guidelines about how to proceed.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

DevWars Node API

Resources

Contributing

Stars

14 stars

Watchers

1 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 - DevWars/devwars-api: DevWars Node API · GitHub
Skip to content

Repository files navigation


DEV

DevWars API

The Human Layer of the Stack

nodejs versionexpressjs versiontypescript versiontypeorm versionpostgres versionDependabot Badge

Welcome to the DevWars API codebase. This is the core backbone and interface for the day to day running of the DevWars platform.

What is DevWars?

DevWars.tv is a live game show for developers that is currently streamed on Twitch. People of all levels participate in an exhilarating battle to create the best website they can within 60 minutes. Teams are formed of 3 people, with the team's members each controlling a single language - HTML, CSS and JavaScript.

Getting Started

Prerequisites

Dependency Installation

Run npm install to install dependent node_modules.

Environment Variables

Make a copy of the .env.example file in the same directory and rename the given file to .env. This will be loaded up into the application when it first starts running. These are required configuration settings to ensure correct function. Process through the newly created file and make the required changes if needed.

Seeding The Database

Once you have everything setup in the environment variables folder, you will be able to seed the database. This process will generate fake data that will allow testing and usage of the API.

run npm run seed

Testing

Running npm run test will start the testing process, using the second set of connection details within the .env file. This process is enforced as a git hook before committing code.

Development

Running npm run dev will start a development server that will automatically restart when changes occur. Additionally running npm run dev:break will allow development with the inspector attached.

Contributors

This project exists thanks to all the people who contribute. We encourage you to contribute to DevWars but ensure to open a related issue first. Please check out the contributing to DevWars guide for guidelines about how to proceed.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

DevWars Node API

Resources

Contributing

Stars

14 stars

Watchers

1 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 - DevWars/devwars-api: DevWars Node API · GitHub
Skip to content

Repository files navigation


DEV

DevWars API

The Human Layer of the Stack

nodejs versionexpressjs versiontypescript versiontypeorm versionpostgres versionDependabot Badge

Welcome to the DevWars API codebase. This is the core backbone and interface for the day to day running of the DevWars platform.

What is DevWars?

DevWars.tv is a live game show for developers that is currently streamed on Twitch. People of all levels participate in an exhilarating battle to create the best website they can within 60 minutes. Teams are formed of 3 people, with the team's members each controlling a single language - HTML, CSS and JavaScript.

Getting Started

Prerequisites

Dependency Installation

Run npm install to install dependent node_modules.

Environment Variables

Make a copy of the .env.example file in the same directory and rename the given file to .env. This will be loaded up into the application when it first starts running. These are required configuration settings to ensure correct function. Process through the newly created file and make the required changes if needed.

Seeding The Database

Once you have everything setup in the environment variables folder, you will be able to seed the database. This process will generate fake data that will allow testing and usage of the API.

run npm run seed

Testing

Running npm run test will start the testing process, using the second set of connection details within the .env file. This process is enforced as a git hook before committing code.

Development

Running npm run dev will start a development server that will automatically restart when changes occur. Additionally running npm run dev:break will allow development with the inspector attached.

Contributors

This project exists thanks to all the people who contribute. We encourage you to contribute to DevWars but ensure to open a related issue first. Please check out the contributing to DevWars guide for guidelines about how to proceed.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

About

DevWars Node API

Resources

Contributing

Stars

14 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages