archive | ||
data | ||
src | ||
.gitignore | ||
makefile | ||
package-lock.json | ||
package.json | ||
pinned-versions.txt | ||
README.md |
CorDis - Own your voice
CorDis is a text and voice chat client with UI based on Discord.
Build
Install Node Dependencies
npm install
Build the project
make build
This will do the following
-
lints with
eslint
-
builds TypeScript with
tsc
-
builds SCSS with
sass
-
TODO: Use npx/node binary rather than the $PATH version of eslint and tsc (like sass)
Example Server Setup
Install postgresql
This is very easy and intuitive :)
Create the example server database
make reset-server
This will attempt to connect to your local Postgres database using the postgres
user.
The setup-test-servers script initialize the tables for the server to run two Guilds simultaneously.
Create an invite for your client to connect to a guild
make create-invite
This will create a .cordis
guild invite file in the dist/server/invites
directory.
See Also
make create-invite-heaven
- creates invite to the second servermake create-example-roles
- registers the user named 'Elipzer' as an adminmake create-memes-messages
- inserts testing messages into the #memes text channel to help with testing infinite scroll
Launch the Server
make start-server
You should see some output like this:
21:41:11.492 app.js:51 d: g#98536789-eeba-4c50-bf18-eecd264c299c: no fools
21:41:11.499 app.ts:31 d: g#050b3302-e933-4b37-967f-2ec2fa13fbc0: Literally Heaven
21:41:11.502 app.ts:42 i: listening on port 3030
Start the Client
make start-client
Click the + Add Server
button on the left
Select the .cordis
file that you created for the guild on the example server.
Select your username and profile picture and you're ready to go!
Development Notes
The client is built into an Electron app.
- TODO: Make it into a Web App
The client and server communicate using socket.io
The server's schema is defined in src/server/sql/init.sql