Skip to content

wheels-dev/wheels

GitHub Workflow Status (with event) Dynamic JSON Badge

Wheels

Wheels provides fast application development, a great organization system for your code, and is just plain fun to use.

One of our biggest goals is for you to be able to get up and running with Wheels quickly. We want for you to be able to learn it as rapidly as it is to write applications with it.

Getting Started

Quick Start

Create a new Wheels application using the CLI:

wheels new myapp

Learning Wheels

In this Beginner Tutorial: Hello World, we'll be writing a simple application to make sure we have Wheels installed properly and that everything is working as it should. Along the way, you'll get to know some basics about how applications built on top of Wheels work.

System Requirements

CFML Engines:

  • Adobe ColdFusion 2018/2021/2023
  • Lucee 5/6/7
  • Boxlang 1.3

Supported Databases:

  • Oracle (new in 3.0!)
  • Microsoft SQL Server
  • PostgreSQL
  • MySQL
  • H2

Note: Adobe ColdFusion 2016 is no longer supported as of Wheels 3.0.

Project Structure

Wheels 3.0 introduces a clean, modern project structure:

your-app/
├── app/
│   ├── controllers/
│   ├── models/
│   ├── views/
│   └── ...
├── config/
├── public/
├── tests/
├── vendor/
│   ├── wheels/
│   ├── wirebox/
│   └── testbox/
└── ...

Contributing

We encourage you to contribute to Wheels! Whether you're fixing bugs, adding features, improving documentation, or helping with discussions, your contributions make Wheels better for everyone.

Two Ways to Contribute:

  1. Developer Applications - Built using wheels new command for application development
  2. Framework Core - The wheels-dev/wheels monorepo for core framework contributions

Please check out our Contributing Guide for detailed guidelines on how to get started. We've made the contribution process as smooth as possible with Docker support, comprehensive testing setup, and clear documentation.

Running Tests

Important: Before running tests, make sure that all debugging is turned OFF. This could add a considerable amount of time for the tests to complete and may cause your engine to become unresponsive.

Test Database Setup

  1. Create a database on a supported database server named wheelstestdb
    • Supported servers: Oracle, Microsoft SQL Server, PostgreSQL, MySQL, H2
  2. Create a datasource in your CFML engine's administrator named wheelstestdb pointing to the wheelstestdb database
  3. Important: Make sure to give it CLOB and BLOB support
  4. Open your browser to the Wheels Welcome Page
  5. In the navigation menu, click the Tests > core Tests

Docker Testing

  1. Create a database on a supported database server named wheelstestdb. At this time the supported database servers are H2, Microsoft SQL Server, PostgreSQL, MySQL, and Oracle.
  2. Create a datasource in your CFML engine's administrator named wheelstestdb pointing to the wheelstestdb database and make sure to give it CLOB and BLOB support.
  3. Open your browser to the Wheels Welcome Page.
  4. In the gray debug area at the bottom of the page, click the Run Tests link next to the version number on the Framework line.

For multi-engine testing, use our Docker setup

Reporting Issues

Please report any errors you encounter on our issue tracker. When reporting, please include:

  • Database engine and version
  • CFML engine and version
  • HTTP server and version
  • Steps to reproduce the issue

Getting Help

Supported CFML Engines

CFWheels supports the following CFML engines:

  • Adobe ColdFusion: 2018, 2021, 2023
  • Lucee: 5.x, 6.x, 7.x
  • BoxLang: 1.3.x

License

Wheels is released under the Apache License Version 2.0.

Our Contributors

Made with contrib.rocks.


Wheels 3.0 - Faster, more organized, and just plain fun to use!