Source code of https://johansenjunias20.github.io
Please install Git bash and Docker
bash dev.sh- Run webpack build watch and nodemon websocket
- Only build files not serve files, you still need to serve
public/index.htmlfile with public folder as relative path. Please use Live Server
bash prod.sh- Run Coturn Server and websocket server and build files
- Only build files not serve files, you still need to serve
public/index.htmlfile with public folder as relative path. Please use Live Server
| To do | Description | Done |
|---|---|---|
| Map Pointer | draw 2D Arrow on screen if character's position off the map | |
| Spawn Wave Effect | Objects appear from underground to the surface in sequence, start from the center point (character spawn) towards outside | ✅ |
| Post Processing | Bloom on Billboards Image, Blur Camera's Edges, Selective Outline on knowledge | In Progress |
| Responsive Mobile UI | Add Joystick & fix blury noise when screen resized | ✅ |
| Desc on knowledges | Whenever user click a knowledge, it will show it's description on html modal | |
| Add Showcase WPU | Add 3D showcase by Web Programming Unpas Channel | ✅ |
| Player List UI | Draw list of players & move camera to specific player when user click player's name | ✅ |
| more playground | boardgame that can be played with bots or other players like connect 4 | |
| Bots to playground | implement bots so players can play alone | |
| Advanced Multiplayer | implement Multiplayer to playground (play connect 4 with other players) | |
| Add more knowledges | nginx, node.js, adobe, docker, expo, aws, laravel, threejs, opengl | ✅ |
| Add more billboard projects | minecraft-clone, Accounting Web, Laughing Clown | |
| Contact Person | Github, and LinkedIn at lobby Area | ✅ |
| Shadows on Movable Object | shadows on movable object like character(ball), johansen mesh, and hotkeys | Suspended (complicated) |
| Dockerize Coturn | image coturn/coturn seems to be broken, planning to make own custom coturn image | ✅ |
| Nicknames | Add nickname on top each player's character | ✅ |
| Smooth Movement P2P | Make interpolation position between each data sent to peers | ✅ |
| Spotify Activity | Show spotify profile, activity, and playlist | In Progress |
| Graphics Settings | Add options to lower the graphics quality (disable few post-processing) | ✅ |
| Easter Egg | Add Easter Egg | |
| Audio Visualization | Add Audio Echo Visualization on current playing song |
- Please write
<!-- COPY --> content <!-- ENDCOPY -->in readme file that you want to copy to readme.md's JohansenJunias20.github.io
- Config will be sent to
/src/*.tsxthrough webpack config files build.shis responsible for passing variables in .env to webpack config file- Flow:
/.env→build.sh→webpack.(dev/prod).js→/src/*.tsx
- Build
/src/*.tsxfiles to/public/dist/bundle.js - If you are not sure what arguments suit for you just run
dev.shorprod.sh - Contain 2 arguments
-m | --mode DEV/PRODspecify the mode- mode DEV will pass dev config from .env file and use
webpack.dev.jsas file config to compile/src/*.tsxfiles - mode PROD will pass prod config from .env file and use
webpack.prod.jsas file config to compile/src/*.tsxfiles
- mode DEV will pass dev config from .env file and use
-d | --use-dockerwith virtualization or not, if you dont have docker installed you can leave this option unwritten (assuming you have node js and npm installed).- On windows, do not use DEV mode with virtualization because windows are not signalling file changes to docker mounted volumes
- Called by Github Actions to copy readme.md file from
portofoliotoJohansenJunias20.github.io - Copy lines start with COPY tag and end with ENDCOPY tag in readme.md file
- Run code on development mode. Automatically find and run the most suit config for your OS
- You still need live server extension to serve
public/index.htmlfile - What dev.sh do:
- Copy
.envfile tows-server/.env - Run socket.io server locally with docker
- Run webpack development mode and watch changes on
src/*.tsx
- Copy
- Run socket.io server service and run
bash ws-server/dev.shinside container - Run by
dev.sh
- Run socket.io server and turn server services
- Run by
prod.sh
- Run by github action
- Installing Coturn and Websocket services on boot start up linux automatically ubuntu
- configuration for linux services used by
install.sh
- Configure
turnserver.conffile based.env - Called by
prod.sh
- Run this script to deploy the code to production. It will automatically find and run the most suit config for your OS
- You still need to use live server extension to server
public/index.htmlfile - What prod.sh do:
- Copy
.envfile tows-server/.env - Configure coturn
- Run socket.io server & coturn server with docker
- Run webpack production mode
- Copy
- Renew ssl certificates for turn and ws domains if about to expired
- Docker required
- Make sure port 80 is not being used by other process
- Called by
prod.sh
- Config file for coturn server
- Please do not change manually
- This config based on
.envconfig file - Please configure coturn's config on
.envfile,config_turn.shwill automatically copied.envtoturnserver.conffile
- Webpack's config for development mode
- Used by
build.sh -m DEV
- Webpack's config for production mode
- Used by
build.sh -m PROD
