Confab Development⚓︎
This section of the documentation is intended for developers
Setting Up Dev Environment⚓︎
1. Backend⚓︎
- Clone the main Confab repo (and submodules) with
git clone https://github.com/nextguyover/Confab.git --recursive
- Initially compile email templates with
python3 Confab/email_designs/compile.py
- Open
Confab/Confab.sln
in Visual Studio - Open
appsettings.json
and setConfabParams:ExternalUrl
to "localhost", and enter an email address inUserRoles:Admin
- Start the program. If everything worked correctly, Swagger UI should be available at
http://localhost:2632/swagger/index.html
2. ConfabUI⚓︎
cd
to the ConfabUI submodule directory- Create a
.env
file in this directory and add the following - Start the dev server with
npm install && npm run dev
3. First Login⚓︎
- Navigate to the frontend dev server URL (Default is
http://localhost:5173/
) - Since current location has not yet been initialised, Confab will display an error. Ignore this and click "Go to login" in the top right of the widget.
- Enter the email that you entered under
UserRoles:Admin
previously - Since SMTP probably hasn't been configured yet, you can instead find the login code printed out to the Confab console. Use this to login.
- Once successfully logged in, open the Admin Panel and initialise commenting at the current location.
Building Confab⚓︎
Prerequisites⚓︎
-
.NET 6.0 SDK (1)
- Install on Ubuntu with the following command:
-
NodeJS (1)
- For Ubuntu, Fast Node Manager (fnm) usually works well, install via the following commands:
-
Python (1)
- Python is necessary to run build scripts, but isn't strictly necessary for a fully manual build
Download the project files by cloning the Github repository: git clone https://github.com/nextguyover/Confab.git --recursive
Option 1 - Build Script⚓︎
Confab comes with a build script that automates the build process.
- CLI Options:
usage: confab_builder [-h] [-m {ui,backend,full}] [-c] [-p PLATFORM] [-b] options: -h, --help show this help message and exit -m {ui,backend,full}, --mode {ui,backend,full} Choose whether to build UI, backend, or both -c, --clean Clean build -p PLATFORM, --platform PLATFORM Compile .NET backend for specific platform (leave empty for current platform). -b, --bundle-runtime Bundle .NET runtime (will run without requiring .NET runtime to be installed, but will increase build size)
Option 2 - Build Manually⚓︎
Step 1: Build Confab UI⚓︎
Step 2: Compile Email Templates⚓︎
- Change bash shell directory to the Email template folder (
Confab/email_designs
) - Run UI build script
Step 3: Compile Confab Backend⚓︎
- Change bash shell directory to the backend folder (
Confab/Confab
) - Build Confab
- Move scripts to build directory
🎉 That's it! 🎉
Your build of Confab should now be found at Confab/App
.