For updated online docs, please check this,
https://pickbazar-react-doc.vercel.app/
Fastest E-commerce template built with React, NextJS, TypeScript, Apollo, React-Query, NestJs & Tailwind. Its very easy to use, you can build your schema very easily. GraphQL playground makes it’s own documentation, and for rest we use swagger, your frontend team will love using it.
- PickBazar Shop GraphQL
- PickBazar Shop REST
- PickBazar Admin GraphQL
- PickBazar Admin REST
- PickBazar API GraphQL Playground
- PickBazar API REST Playground
We have used monorepo folder structure with Yarn Workspace. In our template we have three different part Admin Dashboard, Shop and API. Tech specification for specific part is given below
- NextJs
- Apollo
- GraphQL Let
- Tailwind
- Typescript
- React Hook Form
- NextJs
- React-Query
- Axios
- Tailwind
- Typescript
- React Hook Form
- NextJs
- Apollo
- GraphQL Let
- Typescript
- Tailwind
- Stripe Integration
- React Hook Form
- NextJs
- React-Query
- Axios
- Typescript
- Tailwind
- Stripe Integration
- React Hook Form
- NestJs GraphQL
- NestJs REST
- Class Transformer
- Class Validator
For getting started with the template you have to follow the below procedure. First navigate to the root directory. Then run below command for getting started with specific part.
# on root directory
yarn- Go to
/api/graphqldirectory and run below command.
# on api/graphql directory
yarn
yarn start:devNOTE : This will start the server at http://localhost:4000 for graphql api and you can access it from browser at http://localhost:4000/graphql(for graphql playground).
- Go to
/api/restdirectory and run below command.
# on api/rest directory
yarn
yarn start:devNOTE : This will start the server at http://localhost:5000/api/ for rest api and you can access it from browser at http://localhost:5000/docs(for rest swagger doc).
For starting the admin dashboard part with corresponding api data run below commands.
- Go to
/admin/graphqlfolder. - Copy the contents of
.env.templateinto a new file called.env - Run below command to start the server.
# on root directory
yarn dev:admin-gql
# or
# on admin/graphql directory
yarn dev
For starting the admin dashboard part with corresponding api data run below commands.
- Go to
/admin/restfolder. - Copy the contents of
.env.templateinto a new file called.env - Run below command to start the server.
# on root directory
yarn dev:admin-rest
# or
# on admin/rest directory
yarn dev
For starting the shop part with correspondingcorrespondi api run below commands.
- Go to
/shopfolder. - Copy the contents of
.env.templateinto a new file called.env - Fill the
.envfile with your values like,NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=, SECRET=, GOOGLE_CLIENT_ID=, GOOGLE_CLIENT_SECRET= - SET
FRAMEWORK_PROVIDER='yourProjectType'in.envfile. ex: if you want to use rest thenFRAMEWORK_PROVIDER='rest'orFRAMEWORK_PROVIDER='graphql' - SET
tsconfig.json. if you want to userest versionthen copy the content fromtsconfig.rest.jsontotsconfig.jsonfile or if you want to usegraphql versionthen copy the content fromtsconfig.graphql.jsontotsconfig.jsonfile. - Run below command to start the server.
# on root directory
yarn dev:shop-gql
yarn dev:shop-rest
# or
# on shop directory
yarn dev:rest
yarn dev:gql
NOTE : API must be running for the above commands to work.
NOTE : .env file must be filled with your values.
- Go to your specific project root and find `.graphql-let.yml`
- Replace the env variable `${NEXT_PUBLIC_GRAPHQL_API_ENDPOINT}` in schema field manually
- Provide your API url in the schema field.
- Also change the dev command at `package.json`
- Go to `shop/package.json` file and change the scripts:
"codegen": "node -r dotenv/config $(yarn bin)/graphql-let",
to
"codegen": "graphql-let",
If you want to test your production build admin or shop in local environment then run the below commands.
- Go to
/api/graphqlfolder. - Run
yarn build - Run
yarn start:prod - Go to
/admin/graphqlfolder. - Run
yarn build - Run
yarn start
NOTE : API must be running for the above commands to work.
NOTE : .env file must be filled with your values.
- Go to
/api/restfolder. - Run
yarn build - Run
yarn start:prod - Go to
/admin/restfolder. - Run
yarn build - Run
yarn start
NOTE : API must be running for the above commands to work.
NOTE : .env file must be filled with your values.
- Go to
/api/graphqlfolder. - Run
yarn build - Run
yarn start:prod - Go to
/shopfolder. - Run
yarn build:gql - Run
yarn start
NOTE : API must be running for the above commands to work.
NOTE : .env file must be filled with your values.
- Go to
/api/restfolder. - Run
yarn build - Run
yarn start:prod - Go to
/shopfolder. - Run
yarn build:rest - Run
yarn start
NOTE : API must be running for the above commands to work.
NOTE : .env file must be filled with your values.
/admin : In this portion all the admin dashboard related coding and functions.
/shop : All the shop related coding and functions.
/api : API related code for both graphql and rest.
- Navigate to
/api/{yourStack} - put your domain url in
src/common/constants.tsfile(if your stack is rest) - Now host any where like any nodejs application.
If you want to host the template in vercel.com then follow the below command
- After deploying the api you will get the api endpoint url. Put that url in the
/yourProject/yourStack/.envex:/admin/graphql/.env - also need to put it within
vercel.json.
NEXT_PUBLIC_GRAPHQL_API_ENDPOINT={put_your_api_url_here}/graphql;
NEXT_PUBLIC_REST_API_ENDPOINT={put_your_api_url_here}/api/;
- Now run below command(Within the project folder)
vercelvercel