Skip to content

gribbl/adocasts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

429 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adocasts

Adocasts provides education lessons, screencasts, and livestreams on AdonisJS, NodeJS, JavaScript, and more. We have a vast library of free lessons and resources that expands weekly to help get you up and running with AdonisJS.

Get even more by joining Adocasts+ (coming soon)

📚 Ready to learn? Check out adocasts.com
🎉 New lessons every week!


YouTube Badge Twitter Badge Twitch Badge


Before We Start

Some portions of the Adocasts site rely on production data or external APIs & SDKs for information. The site will still function fine for you locally, but these sections may not render unless you set up an account specifically for them.

  • Trending Lessons: Relies on our Plausible API connection.
  • Billing & Plans: Relies on our Stripe connection. You can create your own Stripe account with test data to get this working.
  • Content Schedule: Relies on our Notion API connection.
  • Social Authentication: Relies on Google and GitHub services.

Prerequisites

  • PostgreSQL — We use PostgreSQL as our database driver so you'll either want it installed on your machine or a service that provides it.
  • SMTP Provider — Locally, we like to use MailTrap
  • Node v16+ — Recommended

Installation

  1. Clone the repository
git clone https://github.com/adocasts/adocasts.git
  1. Install NPM packages
npm i
  1. Duplicate .env.example and rename .env
  2. Fill out the .env variables

Data

We provide a StarterSeed that will populate your database with faker data to populate pages on the Adocasts site.

  1. Migrate your database
node ace migration:run
  1. (Optional) If you'd like to start fresh (without faker data), open our StarterSeed at database/seeders/StarterSeed.ts and comment out the seedUsersAndContent() call within the run method.
public async run() {
  const trx = await Database.transaction()
  
  try {
    await this.seedRoles(trx)

    if (!Application.inTest) {
      // await this.seedUsersAndContent(trx)
    }

    await trx.commit()
  } catch (error) {
    await trx.rollback()
    console.log({ error })
  }
}
  1. Seed our faker data
node ace db:seed

About

The code at the heart of Adocasts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 86.2%
  • JavaScript 9.2%
  • CSS 4.6%