Skip to content
This repository has been archived by the owner on Apr 15, 2021. It is now read-only.
/ wyvern Public archive

Wyvern is a chat app meant to not have you sign in, so that means it does not collect your data, or any data about anything! There will be private rooms, and public rooms. Public rooms are shown on the main page. Private rooms need a link.

Notifications You must be signed in to change notification settings

YummyOreo/wyvern

Repository files navigation

About Wyvern

About ⦿ How To Help ⦿ How to run Wyvern ⦿ How it works
Developers ⦿ "Trello" List ⦿ Issues ⦿ Wiki

⚠️ This Repo HAS BEEN ACHIEVED ⚠️

About

Wyvern is a chat app ment to not have you sign in, so that means it does not collect your data, or any data about anything! There will be private rooms, and public rooms. Public rooms are shown on the main page. Private rooms need a link.

This is where you can talk about code questions, the app, or anything. You can get intuch with me to contribute to the app or get help on something.

List of features:

Disclaimer: Not all of these are in the repo or in the app right now, but we do plan to add all of them.

  • No Login
    • this means we will never ask you to login to use Wyvern!
  • No chat messages/names loging
    • We will never log anything.
    • Disclaimer: In the repo there may be loging to console, this will be removed once it goes public. This is only for testing!
  • Public rooms
    • This will show you a list of open rooms to go and chat!
  • Private rooms
    • This will have your room not be on a public list, to join a private room, you need a direct link to the room.
  • Time when the message was sent and by who
    • This shows what time it was sent at, and by who!
  • Room Deletion
    • This will add a delete button for owners.
  • And MORE!
  • To see my full checklist go here.

List of features that might be implemented:

  • Room Perms
    • Levels of perms to users.
  • Room Kicks
    • Kick a user from the room.
  • Owner/Owner Crown
    • Adds a crown to the owner in chat, and in the member list.
  • API for the chat
    • A api for devs that want to make bots.

How To Help

You can help by:

  • Forking the repo

    • If you fork the repo and add/fix code, feel free to DM me on Discord and make a pull request!, my tag is #1.
    • You will also be added to Foreked Devs list if it is accepted!
  • Make Changes to the UI/Graphic Designe Changes

    • If you do want to make UI/Graphic Designe Changes DM me on Discord. My tag is #1. And we can talk about what you think should change about the UI/Graphic Designe Changes.
    • You will also be added to Foreked Devs list if it is accepted!
  • Making bug reports

How to run wyvern:

Disclaimer: Not everything works, feel free to fork this and work on it, tell me if you do, and I might add your fixes/additions to the repo! for more info go here. You can also report bugs/issues here.

Install Node

To install Node.js go to there website.

Clone the repo:

You can also download the files

$ git clone https://github.com/OreoDivision/wyvern
$ cd wyvern

Way One:

.EXE

Run the exe:

You can run run.exe to have it run the commands and open the website for you! See ./py for more info!

Way two (recommended):

Command prompt

Install Everything

$ npm i
$ tsc

This installes all dependencies, converts ts files to js files. Its fine to get errors, they are FINE.

Run the website

$ npm run devStart

Starts the server.js file.

Local Host Website

The local Host website that this runs on is http://localhost:3000.

How it works:

Disclaimer: Does not explain everything! Look in the code to get exactly how it works.

What modules does it uses

This uses soket.io, ejs, ts, and express. (excluding HTTPS).

How does it send messages?

We use soket.io, so to send messages we use soket.to(room).brodcast.emit(). This sends a "emit" to everyone in the room, other than the user sending the messag.e

What is a .ejs files?

.ejs files are the same as .html files, but they are a little different, you can use JS by using <% [js] %> and it will act like a JS file! Example:

<% Object.keys(rooms).forEach(room => { console.log(rooms); if (rooms[room].public == 'on') {return;}%>
		<div><%= room; %></div>
		<a href="/<%= room %>" class="waves-effect waves-light btn">Join</a>
		<% }) %>

Seen in ./views/rooms.ejs.

Developers

All developers that have worked on the app will be listed here.

Disclaimer: This does not list ALL, this lists most, and it will not update automatically. If you did fork and got your fork implemented into the main repo and you dont see your name here Dm me on Discord @ #1.

Direct Devs:

This lists everyone that worked on the main repo.

  • OreoDivision
    • Head Dev.

Foreked Devs

This lists everyone that has had there fork implemented into the main repo.

About

Wyvern is a chat app meant to not have you sign in, so that means it does not collect your data, or any data about anything! There will be private rooms, and public rooms. Public rooms are shown on the main page. Private rooms need a link.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published