Execution Modes
NeoSQL can be used in three modes: Offline, Online (Web), and Online (Desktop). Choose the mode that fits your environment.
Mode Overview
Offline
Use on desktop without internet. Ideal for air-gapped environments. Authenticate with a license key, data is stored locally in the .neosql/ folder.
Online (Web)
Use directly in your browser. Cloud sync enables team collaboration after OAuth login. Only public DBs can be connected.
Online (Desktop)
Desktop app + cloud sync. Connect to internal network DBs and collaborate with your team.
Feature Comparison
Compare available features across modes at a glance.
| Feature | Offline | Online (Web) | Online (Desktop) |
|---|---|---|---|
| Core Features | |||
| ERD Design / Edit | Yes | Yes | Yes |
| SQL Editor | Yes | Yes | Yes |
| Code Generation | Yes | Yes | Yes |
| Forward / Reverse Engineering | Yes | Yes | Yes |
| DB Connection | |||
| Public DB Connection | Yes | Yes | Yes |
| Internal / Local DB Connection | Yes | No | Yes |
| Collaboration & Cloud | |||
| Team Collaboration (Real-time Sync) | No | Yes | Yes |
| Project Sharing / Invite | No | Yes | Yes |
| Cloud Backup | No | Yes | Yes |
| Additional Features | |||
| AI Features | No | Yes | Yes |
| Template Store (Download/Upload) | No | Yes | Yes |
Use the desktop app if you need to connect to internal network DBs or firewall-restricted databases.
Note: Projects created in offline mode cannot be converted to online mode later. Choose the appropriate mode from the start.
Start Offline Mode
Start NeoSQL in offline mode from the desktop app.
Launch App
Launch the NeoSQL desktop app.
Select Offline Mode
Click the "Start in Offline Mode" link at the bottom of the login screen.
Enter License Key
Enter your issued license key.
Configure License Parameters
Click the "Add" button to auto-generate default parameters. Enter values according to your license.
| Parameter | Description | Example |
|---|---|---|
BASE_PACKAGE | Base package name for code generation (multiple entries allowed) | com.example.app |
EXPIRED_DT | License expiration date | 2026-12-31 23:59:59 |
LOGIN_ID | Offline user identification ID | user@company.com |
Check "Remember" to save the license key and parameters locally for auto-fill on next launch.
Authentication Complete
Click "Authenticate". Once the license is validated, you'll navigate to the project selection screen.
Note: When the license expires, the session ends automatically. Re-authenticate with a renewed license key.
Start Online Mode
Online mode uses OAuth social login for authentication. Available in both web browser and desktop app.
Launch App
Access the NeoSQL web app or launch the desktop app.
Social Login
Log in with Google, GitHub, or other social accounts on the login screen. On desktop, authentication happens in the browser and auto-connects to the app.
Select Project
After authentication, you'll be navigated to the dashboard. Your project list is displayed, and you can create a new project or select an existing one.
Offline Project Management
In offline mode, projects are managed on the local file system.
Create New Project
Click the "New Database Project" button on the project management screen.
Click the "Search..." button in the Location field to select a project directory.
Set the project name and DBMS, then click "Save". A .neosql/ folder will be auto-created in the selected directory.
Import Existing Project
Click the "Import Project" button on the project management screen. (Only shown in offline mode)
Select a directory containing an existing .neosql/ folder. If project-config.json is detected, the project settings will be loaded automatically.
Commit the .neosql/ directory to Git to share project settings (ERD, table definitions, connection info) across team members. Each member can clone the repository and use "Import Project" to work in the same environment.
Data Storage
Offline Mode
All data is stored as JSON files in the .neosql/ folder within the project directory.
{project-root}/.neosql/
├── project-config.json # Project settings (name, DBMS, template pack, etc.)
├── connections/ # DB connection info
│ └── {connectionId}_{connectionName}/ # Per-connection directory
│ ├── connection.json # Connection settings (host, port, driver, etc.)
│ └── {schemaName}/ # Per-schema directory
│ ├── {tableName}.json # Table definition (columns, indexes, FKs, etc.)
│ └── {tableName}_entity.json # Java Entity mapping info
└── erd/ # ERD diagrams
└── {erdId}.json # ERD definition (nodes, edges, layout, etc.)Sensitive credentials (DB passwords, SSH keys, etc.) are not stored in .neosql/ but encrypted in the OS secure storage. This means committing .neosql/ to Git is safe — passwords are not included, and credentials are stored individually on each team member's PC.
Online Mode
Project data is automatically synchronized to the cloud. Sync starts automatically when a project is opened — no manual save needed.
Note: Even if the network is temporarily disconnected, work continues with local data. Sync resumes automatically when the network is restored.
Team Invite & Management (Online Only)
Invite team members and manage roles in online mode.
Invite Team Members
Open Share Settings
Click the share button in the project editor toolbar to open project share settings.
Enter Email
Enter the email of the team member to invite. Separate multiple emails with commas (,).
Select Role & Send Invite
Select a role and send the invitation. An email will be sent to the invited user.
Accept Invitation
When the team member clicks the invite link in the email, they join the project automatically after login.
Roles & Permissions
Four roles can be assigned to project members.
| Role | Invite Members | Change Role | Remove Member | Transfer Ownership |
|---|---|---|---|---|
| Owner | Manager, DBA | All members | All members | Yes |
| Manager | Manager, DBA | DBA, Member | DBA, Member | No |
| DBA | No | No | No | No |
| Member | No | No | No | No |
Invitation Status
| Status | Description |
|---|---|
PENDING | Invitation sent but not yet accepted |
ACCEPTED | Invitation accepted, member joined the project |
EXPIRED | Invitation has expired |
CANCELLED | Invitation cancelled by the Owner |
Manage Members
Manage current project members in the Members tab of share settings.
- View each member's role and last access time in the member list.
- Owner or Manager can change member roles or remove them from the project.
- Owner can transfer ownership to another member.
- Non-owner members can leave the project on their own.
Owner or Manager can configure project visibility (Public/Members Only) and copy permissions in the Settings tab.
