Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finish first draft of landing/documentation website #23

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

ernestoresende
Copy link
Member

Draft the initial documentation content for the documentation website. Initially planned structure:

Overview

  • Introduction: Briefly introduce the project, core principles and point towads support and contribution guidelines.
  • Why Cardinal: Explain the rationale behind why a developer could choose Cardinal over other create-***-app solutions, and bring a overview of the included tech. (9e32603)
  • Recommendations: This is aimed at users who are still choosing their stack. Provide recommendations based on project type, budget, and developer experience level. (6f6b221)

Usage

  • New Project: Instructions on how to setup a new project with Cardinal.
  • First steps: Post scaffolding setup instructions. Some scaffolded projects will still require the user to perform post-install tasks, like configuring and supplying correct environment variables for parts of the stack. Most things here will backlink to the specific "stack part" page.

Frameworks

  • Next.js: Next.js specific instructions, mostly pointing to their docs.

Backend

  • REST: Describe how REST API's are authored depending on the combination of deployment provider and framework.
  • GraphQL: Describe how GraphQL API's are authored, and how to use the GraphQL client on server and client components/runtimes.
  • tRPC: Describe how tRPC API's are authored, and how to call procedures from both server and client runtimes.

Authentication

  • Lucia: Reinforce core things about the authentication layer in Cardinal (Lucia, server-only, abstractions for low-level primitives)
  • Security considerations: A refresher on auth security topics.
  • Add new authentication methods: A top level overview of how to implement some other authentication methods (tokens, magic link, OAuth).
  • Session handling: Describe how Lucia creates sessions by default, and cases in which you may want to override it's behavior. Advise caution when doing so.

Database

  • Database connection: Per-platform instructions of where to get the credentials needed to stabilish the database connection
  • Prototyping and migrations: Some general recommendations on how you can prototype database schemas with either drizzle-kit push (when applicable), or database migrations.

Configuration

  • Environment variables: Describe how environment variables should be declared, managed, and how they are checked during runtime.
  • Prettier & ESLint: Describe how Cardinal scaffolds and pre-configures Prettier and ESLint, and where/how you might want to extend them

@ernestoresende ernestoresende added documentation Improvements or additions to documentation enhancement New feature or request labels Jun 22, 2023
@ernestoresende ernestoresende self-assigned this Jun 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

1 participant