{"repo":"ivanms1/project-shelf","free":true,"listed":false,"github":"https://github.com/ivanms1/project-shelf","clone":"git clone https://github.com/ivanms1/project-shelf.git","description":"A showcase app for your projects","language":"TypeScript","stars":10,"topics":["nextjs","apollo","react","graphql","hacktoberfest","tailwindcss","pothos","prisma","typescript"],"license":null,"category":"api-integrations-sdks","readme_excerpt":"Project Shelf Description Project Shelf aims to give a space for developers to showcase their projects, get feedback and connect with other developers. Technology stack - Backend: Node.js, Pothos GraphQL, Prisma and Apollo Server - Frontend: React.js, Next.js and Apollo Client Monorepo Setup This monorepo contains - apps/api : Node.js app, provides all the apis and connects to the database. - apps/web : Main app powered by Next.js - apps/admin : Next.js app for admin purposes - packages/ui : Internal component library used by both web and admin applications - packages/apollo-hooks : Libary of apollo-graphql hooks generated by GraphQL Code Generator for web and admin app to consume Requirements - ### General - Yarn This repository uses Yarn as a package manager. - ### Backend - PostgreSQL Database To run the backend, a connection to a database is needed. The easiest way to run a Postgres DB locally is via Docker. Once you have Docker installed run this command: Another alternative is running a PostgreSQL DB in the cloud with services like fly.io wich have a a free tier. - Cloudinary All the images are saved in Cloudinary, the free tier is more than enough for development. - Enviroment Variables Inside the apps/api directory - ### Frontend - Github OAuth Github is being used as an auth provider, you will need to create an OAuth app on your github account with these settings: - Enviroment Variables Inside the apps/web and apps/admin directories Running the app - ### General - Bu","default_branch":null,"files":null,"tree":[],"storefront":"/r/ivanms1","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ivanms1/project-shelf/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}