Skip to content

A ReactJs + Tailwind + GraphQL project built during the Ignite Lab Bootcamp, provided by Rocketseat Programming School

Notifications You must be signed in to change notification settings

RafaelMariscal/Event-video-platform

Repository files navigation

About | | Improvements | | Sreenshots | | Techs, Libs and Plugins | | Functionalities | | GettingStarted | | Contributing


Video Platform for Events

A ReactJs + GraphQL + Tailwind project built during IgniteLab Bootcamp, provided by Rocketseat Programming School, the largest programming school in Brazil. You can access all the technologies, libs and plugins used in this project HERE.

Tailwind was used in this project for productivity reasons, making it easier to build the frontend, just like the GraphCMS and GraphQL Code Generator, but to make it easier to code the graphQL requests.

It's important to mention that, when using GraphCMS to subscribe data, its crucial to set a backend to intermediate all requests, for safety reasons. Just beacause this project idea is to build a mockup web application for video events, the frontend will deal with all the mutations requisitions. With that said, feel free to use this repo as you wish.

Project Improvements

In adition to main event project, it was fixed the image source to be reconized by Vercel. Also, a responsive desing was implemented for both pages[ Subscription and Event ], with "menu sandwich", according to the Figma project. If you want to access the Figma Project HERE

Project deployed using vercel. To access this project, follow the link: | > event-video-platform.vercel.app/ < |


Screenshots

Techs, Libs and Plugins

In this project, it was used Techs, Libs and Plugins to provide a better understanding of how a web application is actually built. Follow the list bellow to access all the techs/libs/plugins documantations:

React | | Typescript | | GraphQL | | GraphCMS | | GraphQL-Code-Generator | | Apollo Client | | VimeJS | | Date-fns | | Tailwind | | Phosphor-react

Functionalities

  • The web aplication consists in 2 pages: Subscribe and Event.

  • Subscribe Page:

    • Subscribe Form
    • GraphQL mutation request
    • Only access to video content if subscribed
  • Dashboard Page:

    • Video Section - Video Card - Video Description - Tow Actions Buttons - Teacher Info Section - Action Cards Section with there own description.
    • Video Controller - Video Access Cards - Video published Date info - Video Title - Video Published Info - Video Type Info ( Class / Live )

GettingStarted

$ git clone [email protected]:RafaelMariscal/Event-video-platform.git
$ cd Event-video-platform
$ npm i

When this project was built, vimejs still didn't support 100% react 18.0.0. Because this project didn't used any of the new functionalities of react 18.0.0, if there is an error installing this dependency, just force the installation by using:

$ npm i @vime/core @vime/react --force

There may be some WARNING like:

The above dynamic import cannot be analyzed by vite.

This is related to @vimejs, and it will not break the application. There is an issue on @vimejs github related to this error, to know more about it access this link: github.com/vitejs/vite/issues .

Clone the GraphCMS database schema in the link :

Clone project

At projet root diretory, you need to create a .env.local file with these environment variables:

  • VITE_API_URL={GraphCMS Content API URL}
  • VITE_API_ACCESS_TOKEN={GraphCMS Permanent Auth Token Value}

Also at project root diretory, at the file codegen.yml, you need to set the schema to the GraphCMS Content API URL, like this:

schema: {GaphCMS Content API URL}

documents: './src/graphql/**/*.graphql'

generates:
  ./src/graphql/generated.ts:
    plugins:
      - typescript
      - typescript-operations
      - typescript-react-apollo
    config:
      reactApolloVersion: 3
      withHooks: true
      withHOC: false
      withComponent: false

At first run, and also every time that changes were made at GraphCMS Project run:

$ npm run codegen

Finaly, to run the development version just run this command line:

$ npm run dev

The deploy was made using Vercel. So, if you want to deploy your project, just follow the instructions to link your github repository to vercel, then cofigure the deploy and run it. Follow the link bellow to access Vercel Documentation.

Contributing

You can send how many PR's do you want, I'll be glad to analyse and accept them! And if you have any question about the project...

Email-me: [email protected]

Connect with me at LinkedIn

Thank you!

About

A ReactJs + Tailwind + GraphQL project built during the Ignite Lab Bootcamp, provided by Rocketseat Programming School

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages