diff options
-rw-r--r-- | content/projects/forum/evil.png | bin | 0 -> 54467 bytes | |||
-rw-r--r-- | content/projects/forum/hills.png | bin | 0 -> 104620 bytes | |||
-rw-r--r-- | content/projects/forum/index.md | 46 | ||||
-rw-r--r-- | content/projects/forum/pyramid.png | bin | 0 -> 172925 bytes | |||
-rw-r--r-- | sass/style.scss | 9 |
5 files changed, 55 insertions, 0 deletions
diff --git a/content/projects/forum/evil.png b/content/projects/forum/evil.png Binary files differnew file mode 100644 index 0000000..14047b0 --- /dev/null +++ b/content/projects/forum/evil.png diff --git a/content/projects/forum/hills.png b/content/projects/forum/hills.png Binary files differnew file mode 100644 index 0000000..c0c0e89 --- /dev/null +++ b/content/projects/forum/hills.png diff --git a/content/projects/forum/index.md b/content/projects/forum/index.md new file mode 100644 index 0000000..caa6288 --- /dev/null +++ b/content/projects/forum/index.md @@ -0,0 +1,46 @@ ++++ +title = "forum" +[taxonomies] +categories = ["game"] +languages = ["jsx", "sass", "python"] +[extra] +wip = true +git = ["forum"] ++++ + +this is a little CRUD project i wrote when trying to refresh my full stack skills + +i used react and three.js (via [react three fiber](https://r3f.docs.pmnd.rs/getting-started/introduction)) for the frontend and flask for the backend + +i was originally using mongodb for the database but ran into issues with it being unsupported on the raspberry pi 4's architecture so i had to rewrite the backend to use sqlite instead + +you can play it in your browser (on desktop): [https://forum.soaos.dev](https://forum.soaos.dev) + +it's a game where you can walk around a 3D environment and place text notes around for others to read + +you can edit and remove notes that you wrote as well + + + +i was inspired by this one minigame from [the beginner's guide](https://en.wikipedia.org/wiki/The_Beginner%27s_Guide) where you walk around and read notes that were supposedly left by other users + +there was some point in the game about it really just being one guy talking to himself or something but i just thought it would be a really cool thing if it was real + + + +my friends had a lot of fun defacing the place + +some people got a bit clever and started making manual api requests to put messages in impossible places + + + +i had to implement server-side validation of message positions which was less of a pain in the ass than i had hoped + +i went the naive route of just loading the terrain model into the backend and using the open3d library to do a distance check + +there's still a fair amount of polish to put on this project but people seemed to enjoy it a lot + +it would be cool if someone stumbled on this project a long time from now and saw what people were writing + +i know i would be fascinated + diff --git a/content/projects/forum/pyramid.png b/content/projects/forum/pyramid.png Binary files differnew file mode 100644 index 0000000..5b7bfd7 --- /dev/null +++ b/content/projects/forum/pyramid.png diff --git a/sass/style.scss b/sass/style.scss index ec5c266..44eba97 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -85,6 +85,15 @@ pre table { &-rust { color: everforest.$orange; } + &-sass { + color: everforest.$red; + } + &-jsx { + color: everforest.$blue; + } + &-python { + color: everforest.$yellow; + } } .coverimage { |