All Projects → DKurilo → battleship

DKurilo / battleship

Licence: MIT license
Battleship... Pure.. Functional... Haskell + MongoDB + TypeScript + React... https://battleship-fp.com/

Programming Languages

haskell
3896 projects
typescript
32286 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to battleship

Battleship
An Object-Oriented VBA experiment
Stars: ✭ 66 (+371.43%)
Mutual labels:  battleship

Battleship

Build Status

Pure.. Functional..
Haskell + Snap + MongoDB + TypeScript + React
https://battleship-fp.com/

Actualy, client has some impurity. It uses not immutable state. I don't know how to avoid it. Maybe you can help me.

To build client:

yarn install
yarn build

To build server:
Copy devel.cfg.template to devel.cfg. Fix parameters.

stack build
server/run_ssl.sh
stack run battleship-bot

SSL

In case you want to use HTTPS:
Run ./prepare_with_ssl.sh. it will create ssl keys. To run server ./run_ssl.sh and then in browser: https://localhost:9443/

Build for Linux

To build server for linux you can use special docker image.
Just run docker-composer up from deploy folder. Check ./deploy/build.sh for more information.

MongoDB

With admin access:

use battleship;
db.createUser({user:"battleshipuser", pwd: "your_password",roles:[{role:"readWrite",db:"battleship"}]});
db.createCollection("games");
db.createCollection("chats");
use battleshipbot;
db.createUser({user:"battleshipbotuser", pwd: "your_password",roles:[{role:"readWrite",db:"battleshipbot"}]});
db.createCollection("games");

ToDo

Tests. For everything!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].