https://github.com/1rb/authworria
The GameCafe for YOU.
https://github.com/1rb/authworria
Last synced: 3 months ago
JSON representation
The GameCafe for YOU.
- Host: GitHub
- URL: https://github.com/1rb/authworria
- Owner: 1RB
- Created: 2021-11-02T01:40:11.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-03-13T17:00:58.000Z (over 3 years ago)
- Last Synced: 2025-07-31T07:44:53.512Z (11 months ago)
- Language: HTML
- Homepage: https://authworria.com
- Size: 2 MB
- Stars: 13
- Watchers: 0
- Forks: 0
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Information
Website: https://authworria.com ⑊ Support Email: ray@authworria.com

The purpose of this project, which was made for the International Baccalaureate Personal Project, is to develop a website where you can not only game with each other but also socialize with them, combining the gaming experience with the experience of grabbing a cup of coffee with a mate at a cafe.
## Backstory
The word `Authworria` is defined as `the growing anxiety while completing a story before its fast-approaching deadline.` I picked this name for the project to reflect my concern about finishing it before the deadline, which is rapidly approaching.
## Known Bugs
- User cant get into the /app or /login. [#1](https://github.com/TheIIISociety/Authworria/issues/1)
## Explanation
The website is made using [Node.js](https://nodejs.org/en/), [Express](https://expressjs.com/), [Firebase](https://www.firebase.com/), [Socket.io](https://socket.io/), [Porkbun](https://www.porkbun.com), [Bootstrap](https://getbootstrap.com/), [Font Awesome](https://fontawesome.com/), and [Google Fonts](https://fonts.google.com/).
### Authentication
The authentication is done using Firebase's [Google authentication](https://firebase.google.com/docs/auth/web/google-signin).

This line of code is essential for Firebase to authenticate users, and the `.signInWithPopup` will open a popup window prompting the user to sign in/up. We can also use `.signInWithRedirect` instead to redirect visitors to a page where they would sign in from and is more preffered on mobile browsers.

I use the method `.getElementById` to get the HTML element associated with that value, which is the "dashboard" and "loginscreen" in this example. Then I alter the css value of the elements with `.style`. `.display = "block"` makes the element visible, whereas `.display = "none"` makes it invisible. As a result, after the user logs in, the "loginscreen" is replaced with the "dashboard".
###
# TODO
- [ ] Sign In & Sign Up
- [x] Create the login / signup page
- [x] Google and other methods of signing in
- [x] Get data from the login and send to dashboard
- [ ] Username filter
- [ ] Web-Chat
- [x] Validate the users identity using a token
- [x] Create web-chat page
- [ ] Add a word filter to block inappropriate messages
- [ ] Servers and Direct Messages
- [ ] Create a chatroom for each game
- [x] Custom status
- [x] Show own status in the profile section
- [x] Make others be able to see your status
- [x] Be able to change the status or remove it.
- [ ] Multiplayer Web-Game
- [ ] Authorize users with their token
- [x] Design the game
- [ ] Add web-chat to the game