diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..3be6766 --- /dev/null +++ b/.env.example @@ -0,0 +1,43 @@ +# # SQL DB Connection Colo +# SQL_HOST=117.102.231.130 +# SQL_DATABASE=piu +# SQL_USERNAME=sa +# SQL_PASSWORD=@R3M4niA. +# SQL_PORT=1433 + +SQL_HOST=203.153.114.226 +SQL_PORT=1112 +SQL_DATABASE=piu +SQL_USERNAME=sa +SQL_PASSWORD=piu123 + +# Application Port - express server listens on this port (default 9000). +PORT=9528 +ENDPOINT_WA=http://203.153.114.226:9529/send +# ENDPOINT_WA=http://localhost:9529/send +ENDPOINT_FE=http://203.153.114.226:9527 + +# JWT access secret +SECRET=secret + +# JWT refresh secret +REFRESH_SECRET=refreshsecret + +# mail server settings +# SMTP_FROM=youremail +# SMTP_USER=youremail + +# Stripe secret key - https://stripe.com/docs/keys +# STRIPE_SECRET_KEY=sk_test_4eC39HqLyjWDarjtT1zdp7dc + +# Google OAuth2.0 settings for sign in with Google - https://console.developers.google.com/ +# OAUTH_CLIENT_ID=287280guajkxxxxxxx.apps.googleusercontent.com +# OAUTH_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxx +# OAUTH_REFRESH_TOKEN=1//XXXXXXXXXX + +# Google OAuth2.0 settings for sending emails - https://console.developers.google.com/ +# CLIENT_ID=938729280guajk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com +# CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx +# REFRESH_TOKEN=1//XXXXXXXX + +VITE_KEY_SESSION=PetekRombonganPetekMorekMorakMarek diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..1a9399c --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,20 @@ +module.exports = { + env: { + commonjs: true, + es2021: true, + node: true, + jest: true, + }, + extends: ["eslint:recommended"], + parserOptions: { + ecmaVersion: 12, + }, + parser: "babel-eslint", + plugins: ["babel", "prettier"], + rules: { + "no-console": "warn", + eqeqeq: "error", + // "object-curly-spacing": ["error", "always"], + // "arrow-spacing": ["error", { before: true, after: true }], + }, +}; diff --git a/.gitignore b/.gitignore index 1ae140b..ee0f965 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ +.env node_modules -log -tmp -/public/** -!public/.gitkeep \ No newline at end of file +.vscode +request.http +*.rest diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..f2d1f8e --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "semi": true, + "tabWidth": 2, + "printWidth": 80, + "singleQuote": false, + "trailingComma": "es5", + "endOfLine": "lf" +} diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..1da0cd6 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/app.js b/app.js new file mode 100644 index 0000000..8674820 --- /dev/null +++ b/app.js @@ -0,0 +1,30 @@ +const express = require("express"); +require("express-async-errors"); +const cors = require("cors"); +const morgan = require("morgan"); +const cookieParser = require("cookie-parser"); +const routes = require("./routes"); +const helmet = require("helmet"); +const compression = require("compression"); +const unknownEndpoint = require("./middleware/unKnownEndpoint"); +const { handleError } = require("./helpers/error"); + +const app = express(); + +app.set("trust proxy", 1); +app.use(cors({ credentials: true, origin: true })); +app.use(express.json()); +app.use(morgan("dev")); +app.use(compression()); +app.use(helmet()); +app.use(cookieParser()); + +app.use("/api", routes); + +app.get("/", (req, res) => + res.send("