In doprax, your work is organized in projects. Projects hold your code, domains, services, and data. The first thing you need to do when you start developing your new app or website is creating a new project.
Create a project
You can create projects from your dashboard. Go to your dashboard and click on + new project button and the following form will show up to create a new project.
Create a project, step 1
The following data is needed when you are creating a project:
Title: Each project has a title. Give your project a short descriptive title. If you are creating a web app, this title is used to generate a subdomain to host your project
Team: Each project has a team associated with it. A default team is automatically created for you when you signup. Initially, you are the only member of this team. If you later decide to collaborate with another person, you can simply add them to your team. Teams can be created in the Teams section of your dashboard. For more information go to the Teams section of docs.
Description: It is optional. It will help you and your team members to understand the project goals and requirements.
Project Type: Each project has a project type. There are two main types of projects:
If you want to create a web application or API, you should create a Django project. If you want to create a python script (for example a twitter bot or web crawler) you need to create a python project.
Each project has a base operating system. Doprax supports two popular operating systems:
- Ubuntu Linux
- Alpine Linux
Ubuntu is the most popular flavor of the Linux operating system that powers most of the internet infrastructure. Alpine Linux is a very minimal with very small footprint in terms of resource utilization. In doprax, the project types are offered in both Linux distributions. You can choose the appropriate Linux distribution when creating your project.
Database: If you choose Django project types you need to also choose a database service for your project. This database service will be automatically configured and provisioned when you run your project.
Click NEXT button to go to step 2 and allocate hardware resources to your project.
Create a project, step 2
Each project has it's own dedicated hardware resources i.e RAM, CPU, and Disk space. In step 2 of creating a project, you will allocate necessary hardware resources for development environment of the project. Here, since we have chosen Django as our project type, a database service is going to be created for us. The hardware resources needed for our database service are also allocated here. For simple a project, the default values are enough to get started.
Click CREATE PROJECT button to create the new project. The new project will show up in the project list as follows:
A project added to projects list
The lifecycle of a project
A project in doprax undergoes several states in its lifecycle. The lifecycle of a project is as follows:
- Initialized: When a project is created it is in the initialized state.
- Built: When a project codebase and all requirements are built into one docker image and it is ready to be run.
- Running: The project is in the running state. If the project is a web application it can be accessed via the link. If it is a python script, the script will start executing.
- Stopped: The project is stopped running. If it is a web application, it will no longer be accessed via the project link. if it is a python script, the script has stopped executing.
The status of the project is shown in the editor, projects list, and project details page.
Project detail page
By clicking on DETAIL... button or project title, the project detail page is opened. It looks like this:
project detail page
As the name suggests, the project detail page contains all the details about a given project. You can also edit the properties of your project or even delete a project. By clicking on open in editor button, you can edit your project code and start/stop its execution.
In the project detail page, you can also access the shell of the project both in development and production. The development shell is only accessible when your project is in the running state. The production shell is accessible when you have deployed your project to production. When you access the shell of your project, you are accessing the running container of your project via ssh. But you do it inside your browser (you don't have to open a terminal). it will look like this:
Project development shell inside the browser
You can perform any kind of administrative command using this shell. It is also accessible on your tablet or mobile phone. You only need a web browser.