https://github.com/sashachabin/codeinthedark
Code In The Dark game app for LAN parties! π¨βπ»π©βπ»
https://github.com/sashachabin/codeinthedark
code-in-the-dark codeinthedark contest lan monaco-editor
Last synced: 11 months ago
JSON representation
Code In The Dark game app for LAN parties! π¨βπ»π©βπ»
- Host: GitHub
- URL: https://github.com/sashachabin/codeinthedark
- Owner: sashachabin
- License: mit
- Created: 2025-05-30T21:34:51.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-25T21:56:09.000Z (about 1 year ago)
- Last Synced: 2025-07-01T01:40:49.205Z (12 months ago)
- Topics: code-in-the-dark, codeinthedark, contest, lan, monaco-editor
- Language: JavaScript
- Homepage:
- Size: 975 KB
- Stars: 8
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Code In The Dark
[](https://github.com/codeinthedark/editor)
A clientβserver application of the Code In The Dark front-end game. Based on the original [Tictail](https://tictail.com/) challenge: recreate a UI from a single screenshot using HTML & CSS and donβt see the result until timeβs up!
- 2-player coding in Monaco editor with Emmet
- Live updates on a TV screen
- Admin controls for rounds and timing
| Main `/` | TV `/tv` |
| -- | -- |
|  |  |
| Player editor `/game?player=1\|2` | Admin panel `/admin` |
| -- | -- |
|  |  |
## Host Your Own Contest
1. Make sure all computers are on the same LAN
2. [Install Node.js](https://nodejs.org/en/download)
3. Create `.env` file with `ADMIN_PASSWORD=yourpassword`. If you skip this, the default password is `pass`
4. Run `npm i && npm start`
5. On 2 laptops, open:
```
http:///game/?player=1
http:///game/?player=2
```
6. On the TV screen, open:
```
http:///tv/
```
## Custom tasks
There are 12 prepared tasks in [`/tasks`](https://github.com/sashachabin/code-in-the-dark/tree/master/tasks) folder:
- chat.png
- vote-checkbox.png
- calendar.png
- confirm.png
- payments.png
- β¦
To add a new task, put your own screenshot in [`/tasks`](https://github.com/sashachabin/code-in-the-dark/tree/master/tasks)
## Roadmap
- [x] Player editor with live preview
- [x] [Monaco Editor](https://github.com/microsoft/monaco-editor)
- [x] [Emmet](https://github.com/troy351/emmet-monaco-es)
- [x] Admin panel for rounds
- [x] Basic admin password
- [x] Real-time updates on TV screen
- [ ] Add Tailwind/Bootstrap options
- [ ] Tasks with assets & variables
- [ ] Switch code/preview on TV
- [ ] Pulling β WebSockets
- [ ] Add extra time to the round
- [ ] End game & show confetti
- [ ] Support 4 players
- [ ] Prompt In The Dark β AI rounds with ChatGPT/Deepseek etc. π€
## Development
1. [Install Node.js](https://nodejs.org/en/download)
2. Install dependencies
```
npm i
```
3. Run client and server apps
```
npm run dev
```
## See also
- [codeinthedark.com](http://codeinthedark.com) β the Code In The Dark contest by [Tictail](https://tictail.com/)
- [codeinthedark/editor](https://github.com/codeinthedark/editor) β the original editor