https://ebsco.library.innopolis.university
- Search books in an EBSCO e-book archive
- Read books in a browser
- Use multiple filters
- Get books information
- Copy generated references
- Go to https://ebsco.library.innopolis.university
- Click on
HELP
. Each page has its own helpful information. - Type
99
in theUsing text
. - Click on the first suggestion under
Using text
(99 Variations on a Proof
). - In the results table, click on
Read
. - Go to the page
95
( of272
). - In the top of the page, click on
INFO
. - Look at the book info.
- In the
BIBLIOGRAPHIC INFORMATION
tab, click onCOPY
. - (Optionally) paste the copied text somewhere to make sure it's correct.
- Click on
BIBTEX
. - In the
BIBTEX
tab, click onCOPY
. - (Optionally) paste the copied text somewhere to make sure it's correct.
- In the top of the page, click on
SEARCH
to return to the search page. - Click on
Report
. - Click on
November
. - Start typing a month name, e.g.,
D
(forDecember
). - Click on
Search
.
-
Install
Nix
(link) anddirenv
. -
Install Docker (link).
-
Clone and enter this repository
git clone https://gitlab.pg.innopolis.university/elibrary/elibrary cd elibrary
-
Run
direnv allow
. -
Run
nix develop
. Check that you havepoetry
andsqlite3
from adevShell
(see flake.nix).poetry --version sqlite3 --version
-
Install packages.
nix run .#install
-
Run dev servers (
back
andfront
).nix run .#dev
-
(Optionally) Access back server (link).
-
Access front server (link) in a browser.
-
Stop servers.
nix run .#stop
-
Run server and monitoring containers.
nix run .#prod
-
Open server (link).
-
Open Grafana (link).
- Login:
admin
- Password:
admin
- Skip updating password
- Login:
-
Restart back server.
nix run .#prodBack
-
Make a pair of
ED25519
SSH keys (link). -
Add the key to your GitLab account (link).
-
Set up an SSH agent (link).
-
If on
Linux
, add this to your~/.bashrc
eval $(ssh-agent -s)
-
-
Clone this repository by SSH.
git clone git@gitlab.pg.innopolis.university:elibrary/elibrary.git
- We source secrets in Nix scripts
- We generate
.env
files with non-sensitive data from Nix expressions in Nix scripts - We check into the repo both these expressions and generated
.env
files - We use
.env
files indocker compose
files
-
Get both tools in a
devshell
:nix develop sops --version gpg --version
-
The back/auth.enc.env file is encrypted via
sops
.GOOGLE_CLIENT_ID
,GOOGLE_CLIENT_SECRET
are for Google Open ID ConnectSECRET_KEY
is for sessions
-
The
sops
config is in .sops.yaml. -
A current developer (
Alice
) (whose key is in.sops.yaml
) can grant access to a new developer (Bob
).-
Bob generates a PGP key pair via
gnupg
(link). -
Alice adds Bob's public PGP key (e.g.,
gpg --import bobs.public.key
). -
Alice adds Bob's key fingerprint to .sops.yaml.
-
Alice updates the encrypted file.
sops updatekeys back/auth.enc.env
-
- main package manager: nix
- language: TypeScript
- framework: Material UI
- tooling: Vite
- book viewer: PDF.js
- containers manager: Docker Compose
- monitoring: FastAPI with Observability
-
Select/create an issue.
-
In its description, define steps to be completed.
-
Create a merge request from the issue against the
main
branch. -
Describe the request using the default closing pattern.
-
Switch to the merge request branch on your machine.
-
Work in that branch and periodically merge there the
main
branch. -
If necessary, ask for a review.
-
Merge the request into the
main
branch.
The MIT
license is used for allowing any usage of this software.