• Stars
    star
    236
  • Rank 164,700 (Top 4 %)
  • Language
    TypeScript
  • License
    Other
  • Created about 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tu tienda online

Pency

Tu tienda online, fácil.

Qué es?

Pency es una tienda online multipropósito, pensada para quienes venden (o quieren vender) vía WhatsApp.

Qué tiene?

  • Catálogo online
  • Panel de administración para cargar productos
  • Carrito de compra
  • Imagen, precio y descripción para cada producto
  • Opciones para cada producto (pueden modificar el precio del producto)
  • Envío del pedido vía WhatsApp
  • Configuración de la tienda (color, título, descripción, imagen, logo, etc)

Algo no me anda!

Podés crear un issue acá en GitHub.

Quiero ayudar!

Entrá a los issues acá en GitHub

Quiero mi tienda!

Mandame un mail a [email protected]

Tengo otra pregunta

Mandame un mail a [email protected]

¿Cómo puedo correr el proyecto?

Completá todas las variables que aparecen en .env.template y guardalo como .env.development.local

Todas las variables de firebase las encontramos en la configuración del proyecto de firebase, GOOGLE_API_KEY es la api key de firebase, pero como también necesitamos usarla para Google Places le cambié el nombre, tomá en cuenta que para que funcione el campo de ubicación necesitás tener la api de places habilitada en el proyecto y billing activado (o podés no usar el campo / deshabilitarlo, la app funciona sin eso).

En firebase/credentials.ts están las credenciales de firebase admin para cada ambiente, necesitás obtener el json de una cuenta de servicio que podés encontrar en firebase yendo a Configuración > Usuarios y permisos > Cuentas de servicio y generando una nueva clave privada. Después andá a https://www.devglan.com/online-tools/aes-encryption-decryption y seleccioná tu archivo de credenciales, en mode seleccioná CBC, Key Size in Bits 128, Enter IV (Optional) la misma clave iv que en tu archivo .env.development.local, Enter Secret Key la misma secret key que en tu archivo .env.development.local, Output Text Format en Base64, clickea Encrypt y pegá el contenido en firebase/credentials.ts en el ambiente que corresponda.

Luego en consola ejecutá:

# Yarn
yarn
yarn start

# O si usas npm
npm install
npm start

Necesitás tener un .env.[ambiente].local para cada ambiente en el que vas a correr la app.

¿Cómo correr Storybook?

Storybook nos permite observar los distintos componentes visuales utilizados en el proyecto en un ambiente aislado.

Ejecutá en la consola los siguientes comandos para abrir Storybook:

# Yarn
yarn storybook

# O si usas npm
npm run storybook

Configurando Firebase

Para esta aplicación vamos a necesitar dos cosas de Firebase, la primera va a ser configurar las reglas de firestore (las podés encontrar en el archivo firestore.rules) y habilitar en firebase el inicio de sesión con usuario y contraseña (lo haces en Firebase desde Auth > Sign in methods).

Configurando Cloudinary

También vamos a necesitar una cuenta en Cloudinary para alojar las imágenes de la tienda. De allí vamos a necesitar el Cloudinary Cloud name para la variable CLOUDINARY_CLOUD del environment (lo vas a ver arriba a la derecha una vez que inicies sesión). Además vamos a tener que ir a Settings > Upload donde podemos configurar los presets. El CLOUDINARY_PRESET_LOW se va a usar para las imágenes de los productos cargados y CLOUDINARY_PRESET_HIGH para las imágenes de banner y logo. Tenemos que asegurarnos de setear el Signing Mode en Unsigned, el resto de las configuraciones depende de tus preferencias. También vamos a setear la variable CLOUDINARY_FOLDER con el nombre de la carpeta donde queremos que se guarden las imágenes dentro de cloudinary, "pency", por ejemplo.

Configurando el proyecto

Una vez que tengamos nuestro .env.[ambiente].local listo, vamos a la consola, nos paramos en la carpeta de nuestro proyecto y ejecutamos:

# yarn
yarn && yarn dev

# o si usas npm
npm install && npm run dev

Creando la tienda

  • Bajamos y abrimos Postman.
  • Comprobamos que la aplicación este corriendo en http://localhost:3000/.
  • Seleccionamos POST Request y colocamos como URL: http://localhost:3000/api/tenant (si bien podemos poner lo que queramos en slug recomiendo que sean solo letras minúsculas y guiones)
  • En body seleccionamos x-www-form-urlencoded y colocamos los siguientes valores:
	|   KEY  |                    VALUE                         |
	|:------:|:------------------------------------------------:|
	|slug    | slug de la tienda                                |
	|email   | [email protected]                                |
	|password| tuContraseña                                     |
	|secret  | valor de SECRET en .env.[ambiente].local         |
  • Hacemos click en Send y comprobamos si se creó la tienda seteando la variable STORE_SLUG con el nombre de la tienda y entrando en: http://localhost:3000
  • Para acceder al panel de administración debemos entrar mediante el siguiente link: http://localhost:3000/admin

Tomá en cuenta que ya que usamos el uid del usuario como id del documento, no podémos tener más de un usuario por tienda ni tampoco más de una tienda por usuario.

¿Qué puedo hacer con Pency?

Podés leer la licencia acá. En resumen, podés usar Pency para lo que quieras mientras no lucres con eso y menciones la fuente original cuando lo uses 🥰.

More Repositories

1

interview-challenges

A set of interview challenges excercises
TypeScript
1,357
star
2

nextjs-course

Curso introductorio a Next.js con App Directory
TypeScript
219
star
3

mercadolibre-details-challenge

MercadoLibre details page challenge
TypeScript
126
star
4

store

Store with whatsapp checkout
TypeScript
77
star
5

figuncy

Bot que te avisa cuando hay figuritas en la página de Panini
TypeScript
72
star
6

create-appncy

Create projects as Goncy would.
TypeScript
71
star
7

generator

Yeoman generator for things
JavaScript
58
star
8

twincy

Feature a message on screen and organize yourself with a questions queue and bookmark
TypeScript
48
star
9

array-methods

Práctica sobre métodos de array
TypeScript
42
star
10

basement-challenge

Basement studio stream challenge
TypeScript
33
star
11

reancy

Reancy, un workshop de React intensivo by Goncy
31
star
12

nextjs-initial-workshop

Initial Next.js workshop
TypeScript
26
star
13

react-swipy

A simple Tinder-like swipeable React component
JavaScript
26
star
14

donancy

Aplicación de donaciones integrada con MercadoPago, hecha en vivo en el stream
TypeScript
26
star
15

aerolab-challenge

Aerolab challenge
TypeScript
26
star
16

cypress-lesson

Lección sobre como testear una app simple con Cypress / Lesson about testing a simple app with Cypress
JavaScript
26
star
17

animated-theme-switch

Showcase to do an animated theme switch between light and dark mode
TypeScript
22
star
18

tradehelm-challenge

Frontend challenge para TradeHelm
TypeScript
22
star
19

workshop-react-styled-components

Workshop - Metiendo ritmo y sustancia en dos japish👋 con React y Styled Components
22
star
20

salancy

Promedio de sueldos administrado via Google Sheets.
TypeScript
21
star
21

trency-api

API para trenes argentinos
JavaScript
21
star
22

cognizant-softvision-challenge

Cognizant Softvision challenge
TypeScript
20
star
23

trency

Aplicacion para obtener la posicion y horario de los proximos trenes llegando a las estaciones
JavaScript
19
star
24

adopcanem

Proyecto gratis, hecho en comunidad.
TypeScript
18
star
25

community

Community featured profiles
TypeScript
16
star
26

blackbox-vision-challenge

Challenge para Blackbox Vision
TypeScript
15
star
27

dolar-kombat

El dolar graficado en la torre de Mortal Kombat
JavaScript
14
star
28

coderio-challenge

Frontend challenge para Coderio
JavaScript
13
star
29

pauncy

Aplicación tipo tinder para recetas random de Paulina Cocina
TypeScript
12
star
30

ramda-lesson

Lección sobre Ramda
12
star
31

realtrends-challenge

Fullstack challenge for RealTrends
TypeScript
12
star
32

joncy

Portal de empleos relevantes para la comunidad
TypeScript
12
star
33

meli-challenge-fullstack

Complete MercadoLibre challenge speedrun made in 1 hour
TypeScript
11
star
34

innovid-challenge

Stream challenge for Innovid
TypeScript
11
star
35

intercepted-routes-poc

POC for intercepted routes
TypeScript
10
star
36

funcy

Aplicación de manejo de partidos de fútbol hecha en vivo en el stream
TypeScript
10
star
37

meli-challenge

TypeScript
9
star
38

unstated-connect

A simple Redux-like connect for unstated
JavaScript
9
star
39

typescript-firebase-context-gatsby-todos

Wow, thats a long name, almost as long as I tried to make this work
TypeScript
9
star
40

aerolavue-challenge

Aerolab challenge made with Vue
JavaScript
8
star
41

my-eslint-config

My own eslint configuration
7
star
42

redirects

https://gonzalopozzo.com domain redirections
TypeScript
7
star
43

vercel-redirections

Proyecto base para crear tus redirecciones en Vercel
JavaScript
7
star
44

goncy

7
star
45

me

A landing page with information about me
TypeScript
6
star
46

challenges

A centralized place with some code challenges I found fun
JavaScript
6
star
47

blog

My personal blog made with Gatsby
TypeScript
6
star
48

turnos-consulado-espa-a

Obtené una notificación cuando hay turnos para pasarporte
TypeScript
5
star
49

midupruebas-tecnicas-1

Midu prueba técnica 1
TypeScript
5
star
50

memotest

Simple memotest made in React
JavaScript
5
star
51

bulma-cv

CV made in Bulma
HTML
5
star
52

sponcy

Get Spotify recommendations and shuffle
TypeScript
5
star
53

darcy

VSCode theme based on Dan Abramov's theme
HTML
5
star
54

borracha-naval

Batalla naval borracha (??)
TypeScript
4
star
55

redux-saga-api-call

Simple api call for Redux Saga
JavaScript
4
star
56

next-html-rewrite-example

Don't do this at home
TypeScript
4
star
57

cypress-lightning-talk

Lightning talk de Cypress para Acamica en la Campus Party 2018
HTML
4
star
58

mapgen

Generador de mapa dinamico
CSS
4
star
59

goncy-links

Some useful links
HTML
3
star
60

marolio-year

Empezá el año con todo, empezá con Marolio
JavaScript
3
star
61

reducing-redux-boilerplate

Repositorio de acompañamiento para el artículo de Medium
JavaScript
3
star
62

async-action-creator

Action creator with steroids for Redux or whatever you want
JavaScript
3
star
63

bottle-flip-game

Un juego de girar la botella, hecho en Javascript ES6 + Webpack + Phaser
JavaScript
3
star
64

vercel-cache-repro

Showcase Vercel cache
TypeScript
3
star
65

cookunity-calendar-challenge

Calendar challenge
JavaScript
3
star
66

supermarket-list

Frontend challenge
TypeScript
3
star
67

xivis-challenge

Ecommerce challenge for Xivis
JavaScript
3
star
68

plop-examples

Plopfile examples
JavaScript
3
star
69

github-search

Testing PPR
TypeScript
3
star
70

twitter-clone

Twitter clone for stream
TypeScript
3
star
71

teancy

Create balanced teams
TypeScript
3
star
72

visit-registry

Registro de visitas
CSS
2
star
73

reducing-react-redux-saga-boilerplate

Example repository of reducing React, Redux and Redux Saga boilerplate
JavaScript
2
star
74

create-react-redux-sagas-flow-immutable-app

Demo Chuck norris jokes app with react, redux, sagas, flow and immutable
JavaScript
2
star
75

vue-vuex-todo

TODO List with vue and vuex
JavaScript
2
star
76

stream-cv-next

SSG next CV
JavaScript
2
star
77

woofgle

Cypress workshop
JavaScript
2
star
78

nextjs-images-transition

POC
TypeScript
2
star
79

muncy

Wallchart for Qatar 2022
TypeScript
2
star
80

sapper-music-fights

Music fights app with sapper and spotify
JavaScript
2
star
81

fec-calendar

FrontEndCafe calendar
TypeScript
2
star
82

astro-stone-blog

An Astro blog starter kit based on the Stone theme
Astro
2
star
83

twitch-pokeguess

Guess who is this pokemon on your twitch channel
TypeScript
2
star
84

realstate-graphql-server

GraphQL Prisma server for real state agencies
JavaScript
2
star
85

nextjs-commerce-sheets

Attempt to create a google sheets provider
TypeScript
2
star
86

recompose-lesson

Componiendo unos re componentes con Recompose
JavaScript
2
star
87

rsc-simple

Simplification of the original hackernews rsc example
TypeScript
2
star
88

triviarap

Companion app para una charla sobre Next.js - WORK IN PROGRESS
TypeScript
2
star
89

svelte-classifier

Classifier made with svelte and tensorflow
JavaScript
2
star
90

react-local-form

Simple React local form management
JavaScript
2
star
91

woofgle-client

Companion app client para la charla de Cypress
JavaScript
2
star
92

teachable-machine-ml5

Demo para el stream
TypeScript
2
star
93

AFIPizador

Hace cambios en la web de AFIP para poder ingresar desde Google Chrome
JavaScript
2
star
94

useResource

A React hook for using async resources without tears
TypeScript
1
star
95

trivia-hack

A CLI utility that follows the common flow from Trivia Crack and auto answer questions
JavaScript
1
star
96

countries-search

Frontend challenge for frontendmentor
TypeScript
1
star
97

svelte-toxicity

Svelte toxicity checker with tensorflow
JavaScript
1
star
98

gaia-hours

MVP para una capacitación de React native
JavaScript
1
star
99

agenda-nerdearla

POC for a bug in client navigations and searchParams
TypeScript
1
star
100

flutter-todo

A simple todo list made in flutter in a "react way"
Dart
1
star