Screens
This page first describes the shared parts of the Coduva window, and then each screen in the sidebar. The interface is available in Turkish and English; the language is changed on the Settings screen, with the language button in the status bar, or from the command palette.
Window layout
The Coduva window does not use the standard Windows frame. From top to bottom, the window has a title bar, a sidebar on the left, the selected screen on the right, and a status bar at the bottom. Status information refreshes every 5 seconds.
Title bar
- Left: Coduva logo, name, and version (for example
v0.2.0). - Center: the Search or run a command… box. Clicking it opens the command palette; the shortcut is Ctrl+K.
- Right: minimize, maximize / restore, and close buttons.
The window is moved by dragging the title bar. The close button does not quit Coduva; as the button's tooltip says, Coduva keeps running in the background. See System tray.
Sidebar
The screens are grouped in four sections:
| Group | Screens |
|---|---|
| General | Control center, Projects (with the project count next to it) |
| Development | PHP and Node, Database, WordPress tools, Laravel tools, Developer tools |
| Network and security | Local domains, Local HTTPS |
| System | Diagnostics, Settings |
At the bottom of the sidebar, the Services section always shows the Nginx and MariaDB rows. Each row has a status dot, the port, and a power button:
| Dot | Meaning |
|---|---|
| Green | Running |
| Gray | Stopped |
| Red | Port in use or blocked |
| Empty ring | Not installed |
The power button stops the service if it is running, and starts it if it is stopped. The button is disabled if the service is not installed, its port is in use, or another operation is in progress.
Status bar
The thin bar at the very bottom of the window. Clicking its items opens the related screen.
| Item | Shows | Click to |
|---|---|---|
| Overall status | All services running, Some services stopped, Services stopped, Port conflict, or Components not installed | Control center |
Nginx :80 | The web server's port | Control center |
MariaDB :3306 | The database port | Database |
PHP 8.4 | The default PHP version | PHP and Node |
| Update: <version> | Shown only when a new Coduva version is available | Settings › Updates |
| <n> projects | Number of projects | Projects |
TR / EN | Interface language | Changes the language |
Coduva <version> | Installed version | — |
Command palette
Opens with Ctrl+K, or by clicking the search box in the title bar. The search box reads Search pages, projects or actions…. Results are listed in three groups:
- Actions: Create new project, Add folder as project, Start all services, Stop all services, Restart all services, Open localhost in browser, Open phpMyAdmin, Open Coduva terminal, Create health report, and Change language: Türkçe.
- Projects: Each project, with its address. Selecting a project opens its details screen.
- Pages: All screens in the sidebar, with short descriptions.
Search is not case-sensitive and not sensitive to Turkish characters: yerel https and YEREL HTTPS give the same results. If you type several words, only the results containing all of them remain.
| Key | Function |
|---|---|
| ↑ / ↓ | Moves between results |
| Enter | Opens the selected result or runs the action |
| Esc | Closes the palette (Ctrl+K also closes it) |
Notification balloons
The result of an operation is reported in a short balloon in the lower-right corner of the window. Examples: Services started, magaza.test is ready, Copied to clipboard. If an operation fails, the balloon shows Operation could not be completed as its heading, followed by the reason. Balloons disappear automatically; they can also be closed with the close button.
When the background check finds a new version, the balloon Coduva <version> is released appears, with the text "You can install it from Settings › Updates." See Keeping Coduva up to date.
Control center
The screen shown on startup: the status of the web server and the database. At the top of the screen are the refresh button, the Stop all and Start all buttons.
Notices. Shown at the top of the screen when needed:
- Coduva keeps running in the background: Explains that closing the window does not stop Coduva or the services, and what the tray menus do. It is dismissed once with Got it.
- Another local server was detected: Shown only when WampServer, XAMPP, or Laragon is running; it reminds you that ports 80 and 3306 may conflict. Coduva does not touch these programs.
- A warning if the component folder contains non-ASCII characters.
Components are not installed. On first launch, the list of components to download is shown, with the size of each and the Total download, together with the Install components button. During installation, each row has its own progress bar and phase: Downloading, Verifying, Extracting, Installed (or Failed). See Installation.
Overall status strip. A one-sentence summary of the environment:
| Heading | When |
|---|---|
| All good | The web server and the database are running |
| Some services stopped | One of the services is not running |
| Services stopped | No service is running |
| Port conflict | A port is used by another program |
| Ready to set up | The components are not yet installed |
On the right side of the strip are the localhost, phpMyAdmin, and Terminal buttons. localhost is enabled when one of the services is running, and phpMyAdmin when both are running.
Metrics. Four boxes:
| Metric | Value | Subline |
|---|---|---|
| Projects | Number of projects | Breakdown by type, such as WordPress 1 · Laravel 1 · PHP 1 |
| Memory usage | Total memory of the Nginx, PHP, and MariaDB processes | Number of processes |
| Uptime | Uptime of the service that has been running the longest | Overall status |
| PHP versions | Number of installed PHP versions | Default version |
Service cards. Nginx (Web server · PHP FastCGI) and MariaDB (Database). Each card contains:
- The service name, version, and status badge: Not installed, Stopped, Running, Port in use, Port blocked.
- A metrics row: Port, HTTPS (Nginx only), Memory, Uptime.
- On the Nginx card, the pool of the default PHP version: "PHP 8.4 · FastCGI processes", with one bar for each of the four processes in the pool and the number of running processes next to it (for example
4/4). - If the port is in use, the owner of the port: the Windows HTTP server (
http.sys, IIS), WampServer, XAMPP, Laragon, or another program (with its name and PID). If the HTTPS port is also in use, a separate warning is shown. See Ports. - Buttons: when the service is running, Stop and Restart, plus localhost on the Nginx card and phpMyAdmin on the MariaDB card. When the service is stopped, Start; if it cannot be started, the card states the reason ("Install the components first to start." or "Free the port or choose another one in Settings.").
If an error occurs while starting, stopping, or restarting, the reason (for example the last lines of the service log) is shown in the Operation could not be completed notification at the lower right, and the event is also recorded in the Activity feed.
Recent projects. The five most recently added projects: name, address, PHP version, HTTPS lock, and a button to open them in the browser. View all opens the Projects screen. If there are no projects yet, the New project button is shown.
Activity. The last 12 events (service starts, project additions, component installations, update discoveries, and so on), each with a colored dot (info, warning, or error) and a relative time such as "just now" or "5 min ago". The full log is on the Settings screen.
Projects
The list of local sites. At the top of the screen are the Add folder and New project buttons.
Toolbar:
- Search projects…: searches by project name, address, and folder path.
- Type filter: All, WordPress, Laravel, PHP; each with its project count.
- Grid view / List view. The selection is remembered.
In grid view, each card shows the project name, its address (clicking it opens the site in the browser), and the card menu (⋯). The bottom of the card shows a type badge (PHP, WordPress, Laravel), the PHP version, HTTPS if HTTPS is on, the name of the connected database, and the number of running project processes. Clicking the card opens the project details.
List view columns: Project, Type, Address, PHP, Location, and the card menu.
Card menu: Open site, Folder, Editor, Terminal, Copy address, Details.
- New project: Choose a template (Empty PHP, WordPress, or Laravel), then set the Project name, Location, PHP version, and Use HTTPS. Each step of the setup is shown live. When it finishes, the Open site button appears. For WordPress, the WordPress admin account (user name and password) is shown only once, on this screen.
- Add folder: Select an existing folder; the Detected type and Web root are shown, and the project name is suggested from the folder name. When it is added, the notification "<name>.test is ready" appears.
If the project folder has been deleted or moved, the card shows Project folder not found. If there are no projects yet, the screen shows the heading Create your first project with two buttons. Rules and detection logic: Project types.
Project details
Clicking a project opens its details screen. At the top are the path Projects › <name>, the project name, its address (with a copy button next to it), the type, PHP, HTTPS, and database badges, and the Folder, Editor, Terminal, and Open site buttons. Tabs are shown below:
| Tab | Content |
|---|---|
| General | Choice of PHP version and Node.js version, the Use HTTPS switch, Project folder, Web root (Change), the connected Database, and Remove project |
| Tools | Only for WordPress and Laravel projects. WordPress and Laravel tools (below) |
| Commands | A free-form command field (wp, artisan, composer, npm) and Quick commands; output streams live, and Exit code is shown at the end |
| Processes | Long-running project processes: Vite development server (npm run dev); in Laravel, also Queue worker (queue:work) and Scheduler (schedule:work) |
| Logs | Nginx error log, Application log (wp-content\debug.log or storage\logs\laravel.log), and process logs |
Node.js version is set to Auto (.nvmrc / latest) by default: if the project has a .nvmrc or an engines.node entry in package.json, the matching version is used; otherwise the latest installed version is used.
Quick commands depend on the project type:
| Type | Quick commands |
|---|---|
| Laravel | artisan migrate, optimize:clear, key:generate, storage:link, route:list, about |
| WordPress | wp plugin list, theme list, cache flush, core version, core update |
| All | composer install, composer dump-autoload, npm install, npm run build |
Processes run while Coduva is open; they are stopped when you quit Coduva. Remove project removes the project from Coduva and does not touch its files or database.
PHP and Node
Management of runtimes.
- PHP versions and Node.js versions tables: Version, Status (Installed, Not installed, Default, Not supported), Used by. Rows have Install, Remove, and Make default buttons.
- PHP settings (apply to all PHP versions):
| Setting | php.ini key | Default |
|---|---|---|
| Memory limit | memory_limit | 512M |
| Upload size | upload_max_filesize (and post_max_size) | 128M |
| Max execution time, seconds | max_execution_time | 300 |
| Time zone | date.timezone | Europe/Istanbul |
| Show errors on the page | display_errors | On |
Sizes are written as 512M, 1G, or -1 for unlimited; the execution time is between 1 and 3600 seconds.
- Extensions: The extensions found in the
extfolder of the selected PHP version are listed; the checked ones are loaded. Extensions enabled by default:bz2,curl,exif,fileinfo,gd,gettext,intl,mbstring,mysqli,openssl,pdo_mysql,pdo_sqlite,sodium,sqlite3,zip. OPcache is always on.
When you save, running PHP processes restart with the new settings. If Node.js is not installed, the system Node is used in project terminals and npm commands.
Local domains
The .test addresses of projects and the state of the hosts file.
- Status card: The hosts file is up to date. or The hosts file does not match the projects. Below it are the path of the
hostsfile and a copy button. - Sync hosts file (at the top of the screen): adds missing lines and removes stale ones. Windows asks for administrator permission (UAC). If no change is needed, no permission is requested and No change was needed. is shown.
- List: The address of each project (clicking it opens the site in the browser), its name, and its
hostsline (127.0.0.1 magaza.test), with an in hosts or not in hosts badge. The heading shows how many addresses are in thehostsfile (for example3/3).
The .test extension is reserved for local use (RFC 6761) and does not conflict with a real domain name. Coduva generates only .test addresses.
Local HTTPS
Coduva's own local certificate authority (CA) and the project certificates.
- Coduva local certificate authority: Status (Trusted by Windows or Not trusted: browsers show a warning) and Fingerprint (SHA-1), with a copy button next to it. If the CA does not exist yet, it is created when HTTPS is turned on for a project.
- Trust: Adds the CA to the Windows user root certificate store. Windows shows a security confirmation window; no administrator permission is required.
- Remove trust: Removes the CA from the store.
- Projects: All projects, each with an HTTPS switch. When the switch is turned on, a project certificate is generated and the address becomes
https://. The heading shows how many projects have HTTPS on (for example2/3 HTTPS).
Firefox may use its own certificate store; if you see a warning, set security.enterprise_roots.enabled = true in Firefox's about:config. Details: Security and privacy.
Database
MariaDB databases. If MariaDB is not running, MariaDB is not running. is shown, together with the Start MariaDB button.
- Table: Name, Size, number of Tables, connected Project. System databases (
mysql,information_schema,performance_schema,sys) are not listed. - Create database: The name consists of letters, digits, and underscores (up to 64 characters).
- Export: Writes to the
C:\Coduva\backups\db\<name>-<time>.sqlfile. - Import: Select a
.sqlfile; the database is created if it does not exist. - Delete: Cannot be undone; to confirm, you must type the database name exactly.
- phpMyAdmin and Backups folder buttons.
The connection details are shown at the bottom of the screen: 127.0.0.1:<port>, user root, empty password. See MariaDB and phpMyAdmin.
WordPress tools
This is the view of the Projects screen that shows only WordPress projects: search, grid and list views, and the card menu are the same, but there is no type filter. Clicking a project opens its details screen, and the tools are on its Tools tab:
- Debugging (WP_DEBUG): When on, errors are written to the
wp-content\debug.logfile and are not shown on the page. - Log in as admin: Opens a one-time login link, valid for 2 minutes, in the browser.
- Change address (search-replace): Replaces Old text with New text in the database; serialized data is preserved. First, Dry run shows how many changes would be made, and then Apply runs them.
WP-CLI commands are run from the Commands tab. If there are no WordPress projects yet, the text "No projects of this type." appears under the Create your first project heading, with the Add folder and New project buttons.
Laravel tools
This is the view of the Projects screen that shows only Laravel projects. Clicking a project opens its details screen. The Tools tab contains the Quick commands for Artisan and the project processes:
- Queue worker (queue:work)
- Scheduler (schedule:work)
- Vite development server (npm run dev)
Each process is managed with Start / Stop; its uptime and exit code are shown, and its log can be followed on the Logs tab. Free-form Artisan commands are run from the Commands tab.
Developer tools
- Coduva terminal → Open terminal: Opens a terminal with PHP, Composer, WP-CLI, and Node from Coduva's versions already on
PATH. A terminal opened from a project uses that project's PHP and Node versions. - Projects: For each project, the Editor, Terminal, and Folder buttons.
- Tools on this system: For Git, Node.js, npm, Composer, WP-CLI, CodVS, and Visual Studio Code, the path where each was found, or Not found; the heading shows how many were found (for example
5/7).
The Editor button opens the project with CodVS first. If CodVS is not installed, it uses Visual Studio Code (the code command on PATH), and if that is not installed either, it uses File Explorer. Details of the terminal environment: Directories and files.
Diagnostics
Environment checks and log analysis. The checks run automatically when the screen opens; the Run checks button at the top runs them again, and Create health report saves the results to a file.
- Summary: If there are no problems, Environment is healthy ("All <n> checks passed."); if there are, Needs attention: <n> ("<ok>/<total> checks passed. Suggested fixes are below."). Next to it are the Last run time, a colored bar showing the distribution by severity, and four counters: OK, Info, Warning, and Error.
- Checks: Visual C++, components, the PHP command line, ports,
hosts, the CA, other local servers, disk, and Windows Defender. Problem checks are listed first. Each row shows the check name, its severity, a description of the problem, and details (such as the port and process name, or missing addresses). - Fix buttons: Offered on problem checks: Install components, Sync hosts file, Trust, Change ports, Download Visual C++.
- Log findings: The title of the rule, how many times it was seen, its description, the suggested fix, the last matching line, and the path of the log file. If there are no findings, No known error pattern was found in the logs. is shown.
- Create health report: Saves the results as a Markdown file in the
%APPDATA%\Coduva\reportsfolder.
For the full list of checks, fixes, and rules, see Diagnostics rules.
Settings
In the System group of the sidebar. From top to bottom:
- Application card: Coduva, the version (for example
v0.2.0), the Stable channel badge, and the coduva.dev button. - Updates: Status (Coduva is up to date or Coduva <version> is ready), the Check for updates or Install and restart button, and Release notes if available. Below these are Installed version, Channel, and Last check, and at the bottom the Check for updates automatically switch. Details: Keeping Coduva up to date.
- General:
- Interface language: Türkçe / English. The interface changes immediately; the tray menu switches to the new language when Coduva is reopened.
- Start with Windows: When on, Coduva starts in the system tray without showing a window when you sign in.
- Network: Nginx HTTP port and MariaDB port, each with its own Save button. If the service is running, the row shows a Running badge and the message "The service is running; stop it before changing the port." See Ports.
- Storage: Component folder, App data, Settings database (with its schema version), and Service logs; each with its path, Copy path, and Open folder buttons. For folders that do not exist yet, Not created yet is shown.
- Recent events: A log of events such as starting or stopping services, port changes, project additions, component installations, and updates. Password and token values in the records are masked.