Get the project
While you can see the deployed project running in Quix, it can be useful to learn how to get a project up and running in Quix.
Once you have the project running in your Quix account, you can modify the project as required, and save your changes to your forked copy of the project. With a forked copy of the repository, you can also receive upstream bug fixes and improvements if you want to, by syncing the fork with the upstream repository.
In the following sections you learn how to:
- Fork an existing project repository, in this case the computer vision template project.
- Create a new project (and environment) in Quix linked to your forked repository.
In later parts of the tutorial you explore the project pipeline using the Quix data explorer and other tools, in order to view code, examine data structures, and get a practical feel for Quix.
💡 Key ideas
The key ideas on this page:
- Forking a public template project repository
- Connecting Quix to an external Git repository, in this case the forked repository
- Quix projects, environments, and applications
- Pipeline view of project
- Synchronizing an environment
Watch a video
This video shows you how to fork the template project and create your project in Quix:
Fork the project repository
Quix provides the computer vision template project as a public GitHub repository. If you want to use this template as a starting point for your own project, then the best way to accomplish this is to fork the project. Using fork enables you to create a complete copy of the project, but also benefit from future bug fixes and improvements by using the upstream changes.
To fork the repository:
-
Navigate to the Quix GitHub repository.
-
Click the
Fork
button to fork the repo into your GitHub account (or equivalent Git provider if you don't have a GitHub account). Make sure you fork all branches, as you will be looking at thetutorial
branch.Tip
If you don't have GitHub account you can use another Git provider, such as GitLab or Bitbucket. If using Bitbucket, for example, you could import the repository - this would act as a clone (a static snapshot) of the repository. This is a simple option for Bitbucket, but you would not receive upstream changes from the original repository once the repository has been imported. You would however have a copy of the project you could then modify to suit your use case. Other providers support other options, check the documentation for your Git provider.
Create your Quix project
Now that you have a forked copy of the repository in your GitHub account, you can now link your Quix account to it. Doing this enables you to build and deploy the project in your Quix account, and examine the pipeline much more closely.
To link Quix to this forked repository:
-
Log into your Quix account.
-
Click
+ Create project
. -
Give your project a name. For example, "Computer Vision".
-
Select
Connect to your own Git repo
, and follow the setup guide for your provider.Tip
A setup guide is provided for each of the common Git providers. Other Git providers are supported, as long as they support SSH keys.
The setup guide for GitHub is shown here:
-
Assuming you are connecting to a GitHub account, you'll now need to copy the SSH key provided by Quix into your GitHub account. See the setup guide for further details.
Important
It is recommended that you create a new user in your Git provider for managing your Quix projects. You are reminded of this when you create a project (the notice is shown in the following screenshot).
-
Click
Validate
to test the connection between Quix and GitHub.Tip
If errors occur you need to address them before continuing. For example, make sure you have the correct link to the repository, and you have have added the provided SSH key to your provider account, as outlined in the setup guide for that provider.
-
Click
Done
to proceed.
You now need to add an environment to your project. This is explained in the following section.
Create your environment
A Quix project contains at least one branch. For the purposes of this tutorial you will examine the tutorial
branch of the project. In a Quix project a branch is encapsulated in an environment. You'll create a Tutorial
environment mapped to the tutorial
branch of the repository.
Now create an environment called Tutorial
which uses the tutorial
branch:
-
Enter the environment name
Tutorial
. -
Select the
tutorial
branch from the dropdown. -
Click
Continue
and then select the Quix Broker and Standard storage options to complete creation of the environment, and the project. -
Go to the pipeline view. You will see that Quix is out of sync with the repository.
-
Click the
Sync
button to synchronize the environment, and then clickGo to pipeline
. You will see the pipeline building.
At this point you can wait a few minutes for the pipeline services to completely build and start running.
Configure credentials
As the project uses Quix API credentials, you'll now need to configure your credentials for the services that require API keys. The main ones are:
- TfL camera feed - TfL API key
- Web UI - a bearer token (PAT)
You need to create secrets for these and then assign them to the appropriate environment variables.
TfL camera feed
To get this service to run, you'll need to configure it with your TfL API key.
Create a new secret that contains your TfL API key. Now link that secret to the tfl_api_key
environment variable in the TfL camera feed service.
Read more about environment variables and secret management.
Watch the video:
Web UI service
Note if you just want to try out the UI without performing the following steps, you can do that in the demo.
You'll need a PAT for the UI as it uses the Streaming ReaderAPI which needs to be authenticated.
Once you have your PAT copied to the clipboard, create a new secret to contain it. Then link that secret to bearerToken
environment variable for the UI.
Read more about environment variables and secret management.
Watch the video:
Google Maps API key
When testing the UI you see "For development purposes only" displayed on the map. Optionally, if you have a Google Maps API key, you can avoid this.
To add your own Google Maps API key you need to edit src/app/app.module.ts
and modify the apiKey
field in AgmCoreModule.forRoot
to include your Google Maps API key:
Other services
Other optional services may require similar configuration, for example, the Quix Amazon S3 connector service requires your S3 credentials if you want to use it.