docs: re-add the README file 🎉
This commit is contained in:
parent
fedcc9a2ad
commit
17429193da
130
README.md
Normal file
130
README.md
Normal file
@ -0,0 +1,130 @@
|
||||
# "Quick Start" Guide
|
||||
|
||||
The following description applies to Ubuntu and similar debian based Linux distributions.
|
||||
|
||||
## Prerequisites
|
||||
These are the things you need to do/install before you can get started working on Uni2work.
|
||||
|
||||
### Clone repository
|
||||
Clone this repository and navigate into it
|
||||
```sh
|
||||
$ git clone https://gitlab.cip.ifi.lmu.de/jost/UniWorX.git && cd UniWorX
|
||||
```
|
||||
|
||||
### `LDAP`
|
||||
LDAP is needed to handle logins.
|
||||
|
||||
Install:
|
||||
```sh
|
||||
sudo apt-get install slapd ldap-utils
|
||||
```
|
||||
|
||||
### `PostgreSQL`
|
||||
PostgreSQL will serve as database for Uni2work.
|
||||
|
||||
Install:
|
||||
```sh
|
||||
$ sudo apt-get install postgresql
|
||||
```
|
||||
|
||||
Switch to user *postgres* (got created during installation):
|
||||
```sh
|
||||
$ sudo -i -u postgres
|
||||
```
|
||||
|
||||
Add new database user *uniworx*:
|
||||
```sh
|
||||
$ createuser --interactive
|
||||
```
|
||||
|
||||
You'll get a prompt:
|
||||
|
||||
```sh
|
||||
Enter name of role to add: uniworx
|
||||
Shall the new role be a superuser? (y/n) [not exactly sure. Guess not?]
|
||||
Password: uniworx
|
||||
...
|
||||
```
|
||||
|
||||
Create database *uniworx*:
|
||||
```sh
|
||||
$ psql -c 'create database uniworx owner uniworx'
|
||||
$ psql -c 'create database uniworx_test owner uniworx'
|
||||
```
|
||||
|
||||
After you added the database switch back to your own user with `Ctrl + D`.
|
||||
|
||||
To properly access the database you now need to add a new linux user called *uniworx*. Enter "uniworx" as the password.
|
||||
```sh
|
||||
$ sudo adduser uniworx
|
||||
```
|
||||
|
||||
### `Stack`
|
||||
Stack is a toolbox for "Haskellers" to aid in developing Haskell projects.
|
||||
|
||||
Install:
|
||||
```sh
|
||||
$ curl -sSL https://get.haskellstack.org/ | sh
|
||||
```
|
||||
|
||||
Setup stack and install dependencies. This needs to be run from inside the directory you cloned this repository to:
|
||||
```sh
|
||||
$ stack setup
|
||||
```
|
||||
|
||||
During this step or the next you might get an error that says something about missing C libraries for `ldap` and `lber`. You can install these using
|
||||
```sh
|
||||
$ sudo apt-get install libsasl2-dev libldap2-dev
|
||||
```
|
||||
|
||||
If you get an error that says *You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.*
|
||||
Go ahead and install `libpq-dev` with
|
||||
```sh
|
||||
$ sudo apt-get install libpq-dev
|
||||
```
|
||||
|
||||
Other packages you might need to install during this process:
|
||||
```sh
|
||||
$ sudo apt-get install pkg-config
|
||||
$ sudo apt-get install libsodium-dev
|
||||
```
|
||||
|
||||
Build the app:
|
||||
```sh
|
||||
$ stack build
|
||||
```
|
||||
|
||||
This might take a few minutes... if not hours... be prepared.
|
||||
|
||||
install yesod:
|
||||
```sh
|
||||
$ stack install yesod-bin --install-ghc
|
||||
```
|
||||
|
||||
### `Node` & `npm`
|
||||
Node and Npm are needed to compile the frontend.
|
||||
|
||||
Install:
|
||||
```sh
|
||||
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
||||
$ sudo apt-get install -y nodejs
|
||||
```
|
||||
|
||||
### Add dummy data to the database
|
||||
After building the app you can prepare the database and add some dummy data:
|
||||
```sh
|
||||
$ ./db.sh -f
|
||||
```
|
||||
|
||||
## Run Uni2work
|
||||
```sh
|
||||
$ npm start
|
||||
```
|
||||
|
||||
This will compile both frontend and backend and will start Uni2work in development mode (might take a few minutes the first time). It will keep running and will watch any file changes to automatically re-compile the application if necessary.
|
||||
|
||||
If you followed the steps above you should now be able to visit http://localhost:3000 and login as one of the accounts from the Development-Logins dropdown.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
Please see the [wiki](https://gitlab.cip.ifi.lmu.de/jost/UniWorX/wikis/home) for more infos.
|
||||
Loading…
Reference in New Issue
Block a user