PageSourceSearch

https://docs.givepraise.xyz/assets/js/d0720de9.01f890e6.js

js givepraise.xyz collected 2026-10-03 23:54:21 UTC 6,715 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkpraise_web=self.webpackChunkpraise_web||[]).push([[419],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>b});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),p=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),c=p(r),m=a,b=c["".concat(s,".").concat(m)]||c[m]||u[m]||i;return r?n.createElement(b,o(o({ref:t},d),{},{components:r})):n.createElement(b,o({ref:t},d))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:a,o[1]=l;for(var p=2;p<i;p++)o[p]=r[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},4236:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var n=r(7462),a=(r(7294),r(3905));const i={},o="Run Praise locally",l={unversionedId:"local-setup/index",id:"local-setup/index",title:"Run Praise locally",description:"Prerequisites:",source:"@site/docs/local-setup/index.md",sourceDirName:"local-setup",slug:"/local-setup/",permalink:"/local-setup/",draft:!1,editUrl:"https://github.com/givepraise/docs/tree/main/docs/local-setup/index.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Server scripts",permalink:"/server-setup/server-scripts"},next:{title:"Configuring Praise",permalink:"/category/configuring-praise"}},s={},p=[{value:"Step 1 \u2013 Switch to specified node version",id:"step-1--switch-to-specified-node-version",level:2},{value:"Step 2 \u2013 Install dependencies",id:"step-2--install-dependencies",level:2},{value:"Step 3 \u2013 Create Discord Bot",id:"step-3--create-discord-bot",level:2},{value:"Step 4 \u2013 Configure environment",id:"step-4--configure-environment",level:2},{value:"Step 5 \u2013 Start MongoDB",id:"step-5--start-mongodb",level:2},{value:"Step 6 \u2013 Build and start api backend",id:"step-6--build-and-start-api-backend",level:2},{value:"Step 7 \u2013 Build and start Discord bot",id:"step-7--build-and-start-discord-bot",level:2},{value:"Step 8 \u2013 Build and start frontend",id:"step-8--build-and-start-frontend",level:2},{value:"Done \ud83c\udf89",id:"done-",level:2}],d={toc:p},c="wrapper";
1function u(e){let{components:t,...r}=e;return(0,a.kt)(c,(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"run-praise-locally"},"Run Praise locally"),(0,a.kt)("p",null,"Prerequisites:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"node")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"nvm")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"yarn")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"docker"))),(0,a.kt)("h2",{id:"step-1--switch-to-specified-node-version"},"Step 1 \u2013 Switch to specified node version"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"nvm use\n")),(0,a.kt)("h2",{id:"step-2--install-dependencies"},"Step 2 \u2013 Install dependencies"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"yarn set version berry\nyarn\n")),(0,a.kt)("h2",{id:"step-3--create-discord-bot"},"Step 3 \u2013 Create Discord Bot"),(0,a.kt)("p",null,"The Discord bot used to interact with Praise is created in the Discord developer dashboard. Take note of the various bot ids during bot creation as they will be used in the next step."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/server-setup/create-discord-bot"},"Create the Praise Discord bot"))),(0,a.kt)("h2",{id:"step-4--configure-environment"},"Step 4 \u2013 Configure environment"),(0,a.kt)("p",null,"Run the Praise setup script to configure the runtime environment:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"bash setup.sh\n")),(0,a.kt)("h2",{id:"step-5--start-mongodb"},"Step 5 \u2013 Start MongoDB"),(0,a.kt)("p",null,"Run mongo:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"yarn mongodb:start\n")),(0,a.kt)("h2",{id:"step-6--build-and-start-api-backend"},"Step 6 \u2013 Build and start api backend"),(0,a.kt)("p",null,"Api, discord-bot and frontend can also be started from the Visual Studio Code Launch menu."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"yarn workspace api build\nyarn workspace api start\n")),(0,a.kt)("h2",{id:"step-7--build-and-start-discord-bot"},"Step 7 \u2013 Build and start Discord bot"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"yarn workspace discord-bot build\nyarn workspace discord-bot start\n")),(0,a.kt)("h2",{id:"step-8--build-and-start-frontend"},"Step 8 \u2013 Build and start frontend"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"yarn workspace frontend build\nyarn workspace frontend start\n")),(0,a.kt)("h2",{id:"done-"},"Done \ud83c\udf89"),(0,a.kt)("p",null,"If you would like to contribute to Praise development, please see ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/commons-stack/praise/issues"},"open issues")," and the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/commons-stack/praise/blob/main/CONTRIBUTING.md"},"contributor guidelines"),"."))}u.isMDXComponent=!0}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.