Giter VIP home page Giter VIP logo

fireship.io's Introduction

Fireship

The Fireship PRO course platform frontend built with Svelte, Tailwind, Hugo, Firebase, & Flamethrower.

Contributing

All static content is managed with Hugo in the content dir. You can easily fix typos by modifying the markdown directly in GitHub.

How to Run it

First, install Hugo Extended ver 0.101.0 or greater.

git clone <this-repo>
npm install
npm start

Check it on on http://localhost:6969/.

Developing Components

Create a Svelte file in the app/components directory. It must have a custom element tag.

<svelte:options tag="hi-mom" />

<script>
    export let greeting: string;
</script>

<h1>Hi Mom! {greeting}</h1> 

Export the component from app/main.ts:

export * from './components/hi-mom.svelte';

Now use it in anywhere in your HTML or Markdown.

<hi-mom greeting="i made a web component"></hi-mom>

Note: A weird caveat with Svelte web components is that all styles must be encapsulated. You can use Tailwind, BUT only with @apply in the component. Global styles will not work.

Commands

  • npm start: Main dev server. Runs everything you need.
  • npm run dev: Runs components in isolation. Serves app/index.html as a playground for components.
  • npm run hugo: Only runs static site.
  • npm run build: Build for production

fireship.io's People

Contributors

alex-okrushko avatar alexguja avatar ashikpaul avatar chaitanyabhardwaj avatar codediodeio avatar cogentx avatar cyrep avatar daspartho avatar davidcralph avatar finnkrestel avatar jayhelton avatar jtpotato avatar klutchdev avatar lennyz71 avatar livelikecounter avatar mac2000 avatar marcjulian avatar mattruzzi avatar mendozacentric avatar mikkel-t avatar okyanusoz avatar prakshh avatar robogeek95 avatar ryzizub avatar sabzdotpy avatar sachin-philip avatar steviebeenz avatar thewisepigeon avatar wlun001 avatar zackderose avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fireship.io's Issues

not able to login

I'm not able to login through Google Chrome on desktop or mobile. I was able to login to the site through Safari browser but now video are not loading

genericEmail error - SendGrid Transactional Email

Unhandled error { Error: Bad Request
at Request.http [as _callback] (node_modules/@sendgrid/client/src/classes/client.js:124:25)
at Request.self.callback (node_modules/request/request.js:185:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request. (node_modules/request/request.js:1161:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage. (node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
code: 400,
message: 'Bad Request',
response:
{ headers:
{ server: 'nginx',
date: 'Wed, 10 Jul 2019 08:37:24 GMT',
'content-type': 'application/json',
'content-length': '646',
connection: 'close',
'access-control-allow-origin': 'https://sendgrid.api-docs.io',
'access-control-allow-methods': 'POST',
'access-control-allow-headers': 'Authorization, Content-Type, On-behalf-of, x-sg-elas-acl',
'access-control-max-age': '600',
'x-no-cors-reason': 'https://sendgrid.com/docs/Classroom/Basics/API/cors.html' },
body: { errors: [Array] } } }

blank page on running app from source

Downloaded the latest repo, performed npm i and eventually npm run dev, there are a bunch of errors like
ERROR: 2019/03/12 22:22:55 general.go:222: Error while rendering page courses/stripe-payments/advanced-webhooks.md: html/template: "courses/single.html" is an incomplete template
ERROR: 2019/03/12 22:22:55 general.go:222: Error while rendering page courses/cloud-functions/callable-frontend.md: html/template: "courses/single.html" is an incomplete template
ERROR: 2019/03/12 22:22:55 general.go:222: Error while rendering page courses/stripe-payments/advanced-coupons.md: html/template: "courses/single.html" is an incomplete template
ERROR: 2019/03/12 22:22:55 general.go:222: Error while rendering page courses/stripe-payments/frontend-angular.md: html/template: "courses/single.html"
Serving pages from memory
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)

Help appreciated, am I missing something here..

Shortcut for search

As the entire site is mainly built for developers with an amazing design resembling an editor, how about adding a shortcut that can open the search window? Something like CTRL+SHIFT+P would be super helpful when browsing the site through keyboard ๐Ÿ™‚

Add Tag Descriptions

Every tag can display a description: https://fireship.io/tags/firebase/

Where: https://github.com/fireship-io/fireship.io/tree/master/hugo/content/tags
How: Create a directory and _index.md that matches the tag name (must be exact kebab case), i.e cloud-functions/_index.md

Then add some frontmatter:

---
title: Firebase
description: Firebase is a badass BaaS giving you functionality like analytics, databases, messaging, cloud functions, and crash reporting so you can develop quickly and focus on your user experience.
link: https://firebase.google.com
---

LOGIN failure

I have downloaded, installed and register to the Fireship iOS App.
Now I cannot perform LOGIN WITH GOOGLE on the web.

  1. SIGNUP with my email does not work. Reason: "The email address is already in use by another account."
  2. LOGIN WITH GOOGLE (same email) does nothing.

Account creation doesn't allow special characters in your password

When creating a new account for firebase.io, an error occurs when you add special characters like !@#$% into your password. The code responsible for that is in fireship.io/components/src/app/users/email-login/email-login.component.ts specifically line 30 where the the regex is done:
Validators.pattern('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$'),
It only allows letters and numbers.

Card click

Might enhance usability for tablet and phone, to have the whole card clickable on the quick snippets page.

ng : command not found

Thanks for your wonderful codes ! Successfully built in localhost .

But when I try to build this project in github action according to the tutorial written by @marcjulian , some errors occured when npm run build command executed . More specifically in building components .

Built at: 02/25/2019 2:01:44 PM
                           Asset      Size  Chunks             Chunk Names
css/app.dda5e697d526c6425cb7.css  54.7 KiB       0  [emitted]  app
  js/app.dda5e697d526c6425cb7.js  8.59 KiB       0  [emitted]  app
Entrypoint app = css/app.dda5e697d526c6425cb7.css js/app.dda5e697d526c6425cb7.js
[0] ./design/index.ts 2.69 KiB {0} [built]
[1] ./design/styles.scss 39 bytes {0} [built]
    + 2 hidden modules
Child mini-css-extract-plugin node_modules/css-loader/index.js!node_modules/sass-loader/lib/loader.js!design/styles.scss:
    Entrypoint mini-css-extract-plugin = *
    [0] ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./design/styles.scss 74.3 KiB {0} [built]
        + 1 hidden module

> [email protected] build:components /github/workspace
>>>> cd components && npm run lint && npm run build


> [email protected] lint /github/workspace/components
> ng lint

>>>> sh: 1: ng: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] lint: `ng lint`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the [email protected] lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /github/home/.npm/_logs/2019-02-25T14_01_45_407Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build:components: `cd components && npm run lint && npm run build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] build:components script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /github/home/.npm/_logs/2019-02-25T14_01_45_433Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] fbuild: `rm -rf public && npm run build:design && npm run build:components && npm run build:hugo`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] fbuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /github/home/.npm/_logs/2019-02-25T14_01_45_457Z-debug.log

### FAILED Build 14:01:49Z (11.091s)

Same error as build in Netlify . Could you please give some suggestions about this case . Should I ?

  • Add node_modules/.bin to the PATH
  • Make a script in package.json
  • Install angular-cli globally

Thank you and marcjulian !

Add head partial

Move the <head> section in baseof.html in another partial to make baseof.html shorter and easier to read.

add support for making video player smaller

On large screens the video player seems unnecessarily large, it would be cool if we could shrink it down and make it so when the page is zoomed out the player doesn't continue to fill the whole page.

Additionally the large player doesn't always fit on wide screens:
image

Video layout displays wrong on wide screens

Using an ultra-wide screen and as seen in the image below the video displays on the left side, while consuming the entire width, leaving an awkward black box to the right:

image

Would suggest having the video play from the center of the page and either display equal amount of black space on either side, or better: don't display the black areas at all.

Not all videos load

Hi, I noticed that under latest video, only the recent 6 videos show up on the website. I'm new to the channel so I am not certain if you have more than one course but only one loads up on the site (the cloud functions tutorial)

,

.

Mispel when you share

says "Traning and Consulting for App Developers"

Also, I would consider not filling the whole screen when you click on the search icon and having the icon change to an X after you click it, basically making it so you can engage and disengage the search quickly without having to move your mouse clear across the screen to click the cancel button.

Beautiful site though. Very well done.

Speed setting on videos cannot be altered

The speed setting on the video player seems to be unchangeable. I've tried various browsers but the problem persists. As a temp fix I've been using opening the src link of the video-player directly from the source code in a new tab, and using the Video Speed Controller chrome extension.

Typo/Bug in Cloud Functions Masterclass Course

There is a typo in course layout & also one lesson is not uploaded correctly and one lesson is duplicated.

screenshot 4

Lesson 14 is Duplicate of lesson 10

Lesson 14 & 15 is not uploaded correctly

Consider using SonarQube for code quality/coverage/vulnerabilities

Hi, I'd recommend to use SonarQube which is available for free for open source projects on https://sonarcloud.io. I tried to set it up for you but I can't import a repository that doesn't belong to me.

It's an extremely powerful tool which detects bugs/vulnerabilities and verifies code cov. and It has a very nice documentation for setting up code cov.

I used it in my recent project and it helped me quite a lot with getting code to the "clean" state.
Here's my project: https://github.com/kamilgregorczyk/event-sourced-bank
Here's the dashboard for it: https://sonarcloud.io/dashboard?id=kamilgregorczyk_event-sourced-bank

Search is not working - forbidden 403 error

Search feature is not returning results, getting 403 error in console

{"message":"Operations quota exceeded, change plan to get more Operations.","status":403}

The failed request doesn't seem to be handled as there TypeErrors after this

wc.1547240478251.js:4 Uncaught TypeError: Cannot read property 'hits' of undefined
    at Object.callback (wc.1547240478251.js:4)
    at wc.1547240478251.js:4

Unable to deploy SendGrid example

Hi there,

i followed the tutorial https://fireship.io/lessons/sendgrid-transactional-email-guide/
and while i execute the command to deploy the function
firebase deploy --only functions

i got the error below

ERROR: /home/weilies/firebase/fb-sendgrid/functions/src/index.ts:34:6 - Promises must be handled appropriately

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ lint: tslint --project tsconfig.json
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the functions@ lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/weilies/.npm/_logs/2019-09-19T05_17_29_397Z-debug.log

what's the possible reason?

Cloud Functions Master Course / Resizing Images - Step 20

Great video lesson but found the following issues, also could have done with the GitHub repo but couldn't find it:

Instantiating Google Storage

import * as Storage from '@google-cloud/storage';
const gcs = Storage();
// above code generates error
// Solution found
import * as admin from 'firebase-admin';
const gcs = admin.storage();

Dirname

import { join } from 'path'
// if dirname() is going to be used in return bucket.upload then also need to import
// Solution found
import * as path from 'path';
// I guess I could have also used the following instead of importing the whole library
import { join, dirname } from 'path';

tmpFilePath isn't created

await bucket.file(filePath).download({
destination: tmpFilePath
});
// above code fails as tmpFilePath doesn't exist and the above will not auto create it
// Solution found - run below before await bucket.file...
await fs.ensureDir(path.dirname(tmpFilePath);

dirname

return bucket.upload(tmpAvatarPath, {
destination: join(dirname(filePath), avatarFileName)
}
// above code fails as dirname method isn't imported in example
// Solution found
import * as path from 'path';

return bucket.upload(tmpAvatarPath, {
destination: join(path.dirname(filePath), avatarFileName)
}

Error serializing return value: TypeError: Converting circular structure to JSON

Error serializing return value: TypeError: Converting circular structure to JSON thrown when function runs on GCP
// Solution found:
return bucket.upload(tmpAvatarPath, {
destination: join(path.dirname(filePath), avatarFileName)
}).then(() => null);

Social links

Social links are quite small on small screen.

Tinypass login

Paid through TinyPass for a quarterly firebase.io subscription, but unclear how to login to fireship.io. It seems I created a TinyPass username and password, but that is not the same as fireship.io login. Now I have a login to fireship.io with "basic" membership, even through I paid.

Removing public after firebase init, throws error

Error: Specified public directory 'public' does not exist, can't deploy hosting to site testing-houston2

After trying to deploy my site to a testing hosting target, I followed the tutorial, and this is what I ended up with.
I'm running Angular@latest

Error: Specified public directory 'public' does not exist, can't deploy hosting to site testing-houston2

Perhaps you meant the dist directory for Angular users? I'm not even sure.

Push notification example not working on real device, because of missing key-value pairs

A request that you update the code example The FCM notifications guide which assumes that notifications come in this format:
content: Text(message['notification']['title']),

But this information is not sent to real devices in-app (only if closed app), but curiously is sent to the simulator in-app! So this works for testing, but not in production.

If you want to read title/message in-app we are advised by Firebase to send them as key-value pairs:

"If you wish to get these details, you will need to use the optional data payload in the Advanced option section, or just send a message via FCM API. Here's a related Stack Overflow post for more information."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.