Skip to content

SSWConsulting/SSW.FireBootCamp.Website

Repository files navigation

SSW FireBootCamp Website

The official website for SSW FireBootCamp - a 12-week intensive fullstack developer training program that transforms aspiring developers into industry-ready professionals.

This website is built with Next.js and powered by TinaCMS for content management, allowing the team to visually edit content directly from the browser.

Features

  • Next.js 15 with React 18 and TypeScript
  • TinaCMS for visual content editing and management
  • Tailwind CSS 4 for styling with custom FireBootCamp components
  • GitHub Pages deployment support
  • Custom components for program features (hero, skills, pricing, team, testimonials, FAQs)
  • Responsive design with modern UI components (Radix UI, Motion animations)
  • Mermaid diagram support for technical content

Requirements

Local Development

Install the project's dependencies:

Note

Do you know the best package manager for Node.js? Using the right package manager can greatly enhance your development workflow. We recommend using pnpm for its speed and efficient handling of dependencies. Learn more about why pnpm might be the best choice for your projects by checking out this rule from SSW.

pnpm install

Run the project locally:

pnpm dev

Local URLs

Deployment

GitHub Pages

This site can be deployed to GitHub Pages as a static site. To set up deployment:

  1. In your repository settings, ensure GitHub Pages is enabled and set to deploy from the gh-pages branch
  2. Set up a GitHub Actions workflow (if not already present) to handle the build and deployment process
  3. Configure the required secrets in Settings | Secrets and variables | Actions:
    • NEXT_PUBLIC_TINA_CLIENT_ID
    • TINA_TOKEN
    • NEXT_PUBLIC_TINA_BRANCH (optional, defaults to main)

Note

Get your TinaCMS credentials from your TinaCloud project - read the docs

Important

GitHub Pages does not support server-side code, so this will run as a static site. Ensure your Next.js configuration is set up for static export.

Building Locally (Using the hosted content API)

Create a .env file in the root directory with your TinaCMS credentials:

NEXT_PUBLIC_TINA_CLIENT_ID=<get this from the project you create at app.tina.io>
TINA_TOKEN=<get this from the project you create at app.tina.io>
NEXT_PUBLIC_TINA_BRANCH=<Specify the branch with Tina configured>

Build the project:

pnpm build

For local development without Tina Cloud:

pnpm build-local

Getting Help

To get help with any TinaCMS challenges you may have:

Development

Code Quality

This project uses Biome for linting and formatting:

pnpm lint

TypeScript

TypeScript types are auto-generated from the TinaCMS schema. These are rebuilt automatically when your tina configuration changes.

Visual Studio Code

Install the GraphQL extension to benefit from type auto-completion and GraphQL syntax highlighting.

Project Structure

  • app/ - Next.js app router pages and layouts
  • components/ - React components including FireBootCamp-specific blocks
  • content/ - Markdown and JSON content files managed by TinaCMS
  • tina/ - TinaCMS configuration and schema definitions
  • public/ - Static assets (images, videos, etc.)

Technology Stack

  • Framework: Next.js 15 with App Router
  • Language: TypeScript
  • Styling: Tailwind CSS 4
  • CMS: TinaCMS
  • UI Components: Radix UI, Headless UI
  • Animations: Motion (Framer Motion)
  • Code Highlighting: Shiki
  • Diagrams: Mermaid
  • Package Manager: pnpm

LICENSE

Licensed under the Apache 2.0 license.

About

A Next.js Tina FireBootCamp Website (V2!)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •