Roadmap
Avançado

Ecommerce em 2024

O jeito mais moderno de criar um ecommerce

tailwind
vercel
github
medusajs
render
nuxt

Criando um projeto medusajs do zero

Dentro da nossa pasta raiz menthor-ecommerce-2024 nós vamos rodar os seguintes comandos:

npm install @medusajs/medusa-cli -g
Clique aqui para expandir

Esse comando vai instalar os comandos do medusa no seu terminal.

medusa new medusa-server
Clique aqui para expandir

Ao terminar vai aparecer três opções, selecione a opção "Skip database setup".

Esse comando vai instalar um projeto novo do medusa e criar uma pasta medusa-server. Nessa pasta contém as configurações do servidor e o projeto da parte administrativa onde você cadastra os produtos e faz toda a gestão da sua loja.

Dentro da pasta medusa-server você vai no arquivo package.json e atualizar a linha do scripts.build.

package.json
...
"scripts": {
  "clean": "cross-env ./node_modules/.bin/rimraf dist",
  "build": "cross-env npm run clean && npm run build:server && npm run build:admin && npm run seed",
  "build:server": "cross-env npm run clean && tsc -p tsconfig.server.json",
  "build:admin": "cross-env medusa-admin build",
  "watch": "cross-env tsc --watch",
  "test": "cross-env jest",
  "seed": "cross-env medusa seed -f ./data/seed.json",
  "start": "cross-env npm run build && medusa start",
  "start:custom": "cross-env npm run build && node --preserve-symlinks --trace-warnings index.js",
  "dev": "cross-env npm run build:server && medusa develop"
},
...
Clique aqui para expandir

Nós só adicionamos um && npm run seed no final para popular o banco de dados quando o servidor for inicializado.

Então vamos no arquivo medusa-config.js e vamos atualizar a constante projectConfig deixando exatamente assim:

medusa-config.js
// ...
const projectConfig = {
  jwtSecret: process.env.JWT_SECRET,
  cookieSecret: process.env.COOKIE_SECRET,
  store_cors: STORE_CORS,
  database_url: DATABASE_URL,
  admin_cors: ADMIN_CORS,
  redis_url: REDIS_URL
};
// ...
Clique aqui para expandir

Nós tivemos que fazer isso para habilitar o redis e previnir problemas de vazamento de memória reportado nessa issue aqui.

Agora nós vamos criar um novo repositório no GitHub com o nome de medusa-server.

Então abra o terminal, entre dentro da pasta medusa-server e rode os seguintes comandos em sequência:

Lembre-se de substituir a parte da url do segundo comando {seu_usuario_github} com o seu nome de usuário do GitHub.

git init
git remote add origin https://github.com/{seu_usuario_github}/medusa-server.git
git add .
git commit -m "first commit"
git branch -M main
git push -u origin main
Clique aqui para expandir

Pronto! Agora seu repositório git já contém todos os arquivos do seu medusa server.

Opa, calma aí!

Parece que você não está logado, caso tenha interesse em salvar seu progresso de estudo faça login agora.