This project was created for classrooms, online meetings or any other form of meeting.
Its really simple to use. The creator, usually the person who presents, creates a new room. Anyone else in the Meeting can join this room by it's Join-ID
aka Room-Code
.
Now the creator has the possibility to create survey. It's the simplest type of survey: You can have one Question and a limited amount of questions which can be specified in the config (sadly not implemented yet). Any participant will get this survey and can vote for it's answer or dismiss if the participant has no opinion about this or doesn't want to give it's opinion.
Additional every participant has the ability to ask a question. This question will be displayed to the creator.
That's it. It' completely anonymous, no login required, no names to give and the Room will be destroyed and any data will be deleted after the creator has left it.
- Go to SURVEYllance.HackerMB.com
- Usage:
- If you are a presenter, click on
CREATE NEW ROOM
and thats it - If you are a Participant, click on
JOIN ROOM
and enter the Room-Code, given by the presenter
- If you are a presenter, click on
None of the following has been tested, since there is no complete working project an i have no use to deploy something that isn't working. Will be tested and completed after anything works basically.
This project will be served as a Docker-Container, so if you are using docker, just use the Docker-File
// Additional documentation coming soon
This project was written in .NET Core, so if you have installed .NET 5.0 ore above, you can use the following commands inside the project-root:
dotnet restore "SURVEYllance/SURVEYllance.csproj"
dotnet build "SURVEYllance.csproj" -c Release -o /app/build
dotnet publish "SURVEYllance.csproj" -c Release -o /app/publish
. /app/publish/SURVEYllance.dll
// Nothing here at the moment
You can find a concept of the API in API Concept.md
I have a long TODO-List here TODO.txt, so feel free to work on it. Additionally i have some //TODO
comments. As always, you can refactor anything to make more readable or more efficient. And if there is something else, feel free to do is :)
I use Rider for the pack-end-project and WebStorm for the front-end-project. But sometimes i need to use VisualStudio, since most C# instructions are made for it.
Note for Rider: I added //FIXME
-comments:
- File | Settings | Editor | TODO
- Under
Patterns:
, click the+
Edit Pattern
-Window appears- Enter
\bfixme\b.*
as Pattern - Optional: Change color
(Also described [Here](Are FIXME comments supported in Rider? Can only see TODO items – Rider Support | JetBrains))
For the API between front-end and back-end, i use ASP.NET with SignalR , so if you need some Documentation, there it is: ASP.NET Core SignalR Documentation
On the front-end side, i use Materialize for the UI, and also SignalR since it's the API. It has been installed with npm. Usually you shouldn't need it, but in case you need some more Libraries or need to update SignalR, you need to Install NodeJS along with npm. Npm installs it's modules in <front-end project-root>/node_modules
, so if you install some, you need to add them to the <front-end project-root>/cpLib.ps1
file and execute it. Beware of the relative paths in this file, so use the project-root as working directory.
That's it. The Run-Configuration should already be there, so just click play in your IDE and there you go. If it won`t work, you can use the Script from How to setup > Other
This section is for anything, that is related to documentation, and has no place in any other File
What is stored in the session-storage and what does it mean
Key | Value | Description |
---|---|---|
type |
bool: true - The Person is a creator of this roombool: false - The Person is a participant of this room |
Used to determinate if a User is a creator or a participant If you just change the URL from pareticipant.html to creator.html this is the first hurdle to overcome |
joinId |
string - ID |
ID of the room you are in. Used to reconnect if you reload the page or accidentally close the Tab |
creatorToken |
string - Token |
Used to verify, that you are the creator of this room. on reloading/reconnecting Not used at the moment, since we have no token-generation yet |
Thanks to all the people who have contributed, which is at the Moment:
- Simon Kibler: Simon made the logo and icon for this project!
The people listed here helped me make this project possible, most times even without knowing it.
- Okta Developer with their step by step guide for WebSockets: C# WebSockets Tutorial: Build a Multiplayer Game | Okta Developer
- chris-je (Chris) in general, because whenever I had a problem, I came to him and he listened and tried to help.