Skip to content

adocasts/cms

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 Plus

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


YouTube Badge Twitter Badge Twitch Badge


Before We Start

To simplify session management, email verification, and similar logic, the Adocasts CMS only offers limited authentication functionality. To register a new user, please clone down the Adocasts project which contains the full suite of authentication functionalities.

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
  • Redis Server — We now require a Redis connection via Bentocache
  • Node v20.6+ — Recommended

Installation

  1. Clone the repository
git clone https://github.com/adocasts/cms.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.

I haven't tested this yet since our migration from AdonisJS 5 to 6. If you run into any problems, feel free to open an issue.

  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 db.transaction()
  
  try {
    await this.seedRoles(trx)

    if (!app.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

Releases

No releases published

Packages

No packages published