Skip to content

Instantly share code, notes, and snippets.

View AlexSKuznetsov's full-sized avatar
🏠
Working from home

Alexander Kuznetsov AlexSKuznetsov

🏠
Working from home
View GitHub Profile
const axios = require('axios');
async function createRepoAndDeployToVercel(templateRepoName, vercelProjectName) {
try {
// Step 1: Create a new GitHub repository from template using the Vercel API
const response = await axios.post(`https://api.vercel.com/v1/integrations/deployments/github`, {
name: vercelProjectName,
deploymentType: 'clone',
gitRepository: {
cloneUrl: `https://github.com/${templateRepoName}`,
@AlexSKuznetsov
AlexSKuznetsov / traefik.md
Created December 30, 2021 12:44 — forked from dancheskus/traefik.md
Traefik, как обратный прокси в Docker (пример с 2 react проектами)

Traefik, как обратный прокси в Docker (пример с 2 react проектами)

В результате будет 2 react проекта на 1 сервере доступных по разным ссылкам

Цели

  • Запустить traefik в одном контейнере
  • Запустить другие проекты в других контейнерах
  • Соединить все контейнеры в одну docker cеть
  • Настроить контейнеры с проектами так, что-бы они объясняли traefik'у, какие url ведут на конкретный проект
// ------->>> Boostrap
yarn add node-sass bootstrap
index.scss -> @import '~bootstrap/scss/bootstrap' -> add to index.js
// ------->>> Routing
yarn add react-router-dom
import {BrowserRouter as Router, Route, Switch, Link} from 'react-router-dom'
<Router>
<Navbar />
// Установка
npm install express-session
const session = require('express-session');
// MiddleWare для сессий
app.use(session({
secret: 'keyboard cat', // это нужно изменить на свой рандомный ключь
resave: false,
saveUninitialized: false, // это нужно для инициализации сессии сразу
npm i method-override
const methodOverride = require(‘method-override’)
// Разрешает использовать PUT, DELETE с формами.
app.use(methodOverride(function (req, res) {
if (req.body && typeof req.body === 'object' && '_method' in req.body) {
// look in urlencoded POST bodies and delete it
const method = req.body._method;
delete req.body._method;
// ------ БАЗА ----- //
const express = require('express')
const app = express()
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(process.env.PORT || 3000)
/// --------СТАТИКА ------ ///
// подключение статической директории
app.use(express.static('public'))
// подключение к БД
function connect() {
mongoose.connection
.on('error', console.log)
.on('disconnected', connect)
.once('open', listen);
return mongoose.connect(config.db, {
keepAlive: 1,
useNewUrlParser: true,
@AlexSKuznetsov
AlexSKuznetsov / nvmCommands.js
Created June 3, 2020 06:40 — forked from chranderson/nvmCommands.js
Useful NVM commands
// check version
node -v || node --version
// list installed versions of node (via nvm)
nvm ls
// install specific version of node
nvm install 6.9.2
// set default version of node
Добавить в начале строки Найти ^ Заменить 0;
^\W пробел в начале строки
\d{8} найти 8 цыфр подряд
^\d{4};92 найти В НАЧАЛЕ ЧЕТЫРЕХзначные числа после которы есть ;92
[^=]*$ любые символы, кроме "="
;(.*) все после ;
(\b\S+\b)(?=.*\1) повторение на строке
\d [0-9] Цифровой символ