aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonkaars <l.leblansch@gmail.com>2021-03-29 12:03:12 +0200
committerlonkaars <l.leblansch@gmail.com>2021-03-29 12:03:12 +0200
commit06b52c3cf5eea543f8b006fe4f2de94841a749c8 (patch)
treee5ca37ebe0474cdf969da425c73cf955c8db9b2e
parent2f4536d6b08b69168ebf3e718cbd8e3002b9af5a (diff)
readme update post deadline :tada:
-rw-r--r--readme.md84
1 files changed, 53 insertions, 31 deletions
diff --git a/readme.md b/readme.md
index 49142da..280fb7e 100644
--- a/readme.md
+++ b/readme.md
@@ -8,33 +8,26 @@
<img src="https://img.shields.io/static/v1?label=platform&message=linux"/>
</p>
-## This is a school project using Python and SQL
-
-Some of this project's code is in Dutch (commit messages, documents etc.),
-along with the whole website. I'm planning on adding some form of localization
-system, and I'll try to maintain this after the assignment deadline because I
-think this is a pretty cool project. I'll also be fixing issues/merging pr's
-after the deadline. ~I think the deadline is January 25th sometime in March?
-though I'm not sure about this.~ The deadline is March 19th.
-
-## Things that we'd like to have working:
-
-- Working connect 4 game
-- Client-server connection with socket.io
-- Account creation
-- Anonymous accounts / invite links
-- Safe password authentication
-- Play against the computer
-- Follow people/add as friend
-- Game rating like on chess.com
-- Rest API that handles all of this instead of some janky solution
-
-## Maybe:
-
-- ~Log in with google / apple / other~
-- Messages
-- Multiple game modes
-- Different themes (minimalist or skeumorphic with realistic bouncing animation)
+> Some of this project's code is in Dutch (commit messages, documents etc.),
+along with the whole website. This was originally a school project, but I'm
+going to keep maintaining this project during my exams and summer break
+
+## Planned features:
+
+- [x] working connect 4 game
+- [x] client-server connection with socket.io
+- [x] account creation
+- [ ] anonymous accounts
+- [x] invite links
+- [x] safe password authentication
+- [ ] play against the computer
+- [x] follow people/add as friend
+- [ ] game rating like on chess.com
+- [x] rest api that handles all of this instead of some janky solution
+- [ ] Messages
+- [ ] Multiple game modes
+- [ ] Themes
+- [ ] Animations
## Used libraries and frameworks:
@@ -45,13 +38,40 @@ though I'm not sure about this.~ The deadline is March 19th.
- [SQLite](https://sqlite.org/index.html) for the database
- [nginx](https://nginx.org/en/) for serving static files generated by nextjs, caching and reverse proxy
-An example database can be found on [Google Docs](https://docs.google.com/spreadsheets/d/1mDN9IUqRIMjr_9RmLxKybjIgVuaUadalmPEFnG-XeJg/edit?usp=sharing) along with the API endpoints, and the website prototypes can be found on [Figma](https://www.figma.com/file/rTciVQApAe6cwrH1Prl5Wn/4-op-een-rij?node-id=0%3A1)
+A design prototype of the website can be found on
+[Figma](https://www.figma.com/file/rTciVQApAe6cwrH1Prl5Wn/4-op-een-rij?node-id=0%3A1).
+An outdated version of the API documentation is still on Google Docs, but I'm
+moving and updating it to be in api/readme.md.
![](./diagram.png)
-## How to set up
+## setup
-> I haven't figured out how to run this project on Windows, so please install [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) if you want to run this yourself on Windows. The distro you choose doesn't matter, though package names in ./configure may vary if your distro doesn't use the apt package manager.
+To set up this project you'll need to install npm and pip dependencies, pull
+all git submodules and compile voerbak and the sql extensions.
+
+> I haven't figured out how to run this project on Windows, so please install
+> [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) if you want
+> to run this yourself on Windows. The distro you choose doesn't matter, though
+> package names in ./configure may vary if your distro doesn't use the apt
+> package manager.
+
+### automatic setup using `./configure` (debian/ubuntu)
+
+This script might also work on other distro's using the `apt` package manager.
+To start the setup process you only need to run the following command:
+
+```sh
+./configure
+```
+
+The script calls sudo and apt install so some password input/manual
+confirmation is required, but most of the install should be automated.
+
+### manual setup (other distro's)
+
+If your disto doesn't use the `apt` package manager, you can still run this
+project by following these steps:
0. `git clone https://github.com/lonkaars/po-4-op-een-rij`
1. Make sure you have [python](https://python.org/downloads) (with pip and venv) installed.
@@ -91,7 +111,8 @@ An example database can be found on [Google Docs](https://docs.google.com/spread
## How to start
-In order to start this project you'll need three terminal windows to start the flask server, react server, and nginx seperately:
+In order to start this project you'll need three terminal windows to start the
+flask server, react server, and nginx seperately:
```sh
# term 1
@@ -105,6 +126,7 @@ yarn dev
sudo nginx -c $PWD/nginx.conf
# if nginx can't run as the user nobody, try running the following command and restart nginx:
+# this command is also in ./configure
sed "s/user nobody/user $(whoami)/" -i nginx.conf
```