Skip to content

Repository files navigation

Website

Source code for quantucf.com.

Tech Stack

Local Development

Prerequisites

  • Node.js 24, matching .nvmrc
  • pnpm 11

Setup

git clone https://github.com/quantucf/website.git
cd website
nvm use
pnpm install --frozen-lockfile
pnpm dev

Commands

Command Purpose
pnpm dev Start the local development server
pnpm build Generate the production site in dist/
pnpm preview Preview the production build locally
pnpm format Format supported files with Prettier
pnpm format:check Check formatting without modifying files
pnpm lint Lint the repository with ESLint
pnpm check Run Astro and TypeScript diagnostics
pnpm test Build the site and run the Node.js test suite

Before opening a pull request, please run the following validation sequence:

pnpm format
pnpm lint
pnpm check
pnpm test

Project Structure

.
├── public/                Static assets and crawler files
├── src/
│   ├── components/        Layout, navigation, section, and UI components
│   ├── content/           Markdown content collections and templates
│   ├── data/              Site-wide links and contact information
│   ├── layouts/           Shared page shell and document metadata
│   ├── lib/               Content, event, archive, and metadata helpers
│   ├── pages/             File-based routes
│   └── styles/            Global styles and theme tokens
├── tests/                 Configuration, content, unit, and output tests
├── astro.config.ts        Astro and Tailwind configuration
├── src/content.config.ts  Content collection schemas
└── vercel.json            Vercel build configuration

Managing Content

Content schemas are defined in src/content.config.ts. Use the corresponding template when adding new content:

Collection Template
Events src/content/events/.template.md
Officers src/content/officers/.template.md
Posts src/content/posts/.template.md
Projects src/content/projects/.template.md
Sponsors src/content/sponsors/.template.md

Site-wide links and contact details are in src/data/site-content.ts. Topic labels and event types are defined in src/lib/content.ts and src/lib/events.ts.

Deployment

Pushing to a feature branch creates a Vercel Preview deployment. Pushing to main deploys to production.

The Nightly Rebuild GitHub Actions workflow triggers a production rebuild at 00:17 America/New_York each day so static event listings reflect completed events. GitHub may delay scheduled runs. The workflow can also be run manually from Actions.

In Vercel's project Git settings, create a deploy hook targeting main and save its URL as the GitHub repository Actions secret VERCEL_DEPLOY_HOOK_URL. Treat the URL as a credential. The schedule becomes active once the workflow is on main. A successful workflow confirms that Vercel accepted the trigger; check Vercel for the build and deployment result.

Contributing

  1. Create a feature branch from main.
  2. Make changes based on logical units of work.
  3. Run the complete validation sequence.
  4. Commit using the Conventional Commits specification (<type>(<scope>): <summary>).
  5. Push the branch and open a pull request.

License

This project is available under the MIT License.

About

Official website for the Quantitative Finance Club @ UCF.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages