Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/memoetapp/memoet
A self-hosted spaced repetition software
https://github.com/memoetapp/memoet
flashcards play-quizzes quiz-app spaced-repetition-system supermemo2
Last synced: 15 days ago
JSON representation
A self-hosted spaced repetition software
- Host: GitHub
- URL: https://github.com/memoetapp/memoet
- Owner: memoetapp
- License: agpl-3.0
- Created: 2021-02-22T14:45:25.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-08-29T06:15:53.000Z (about 1 year ago)
- Last Synced: 2024-08-01T15:04:54.791Z (3 months ago)
- Topics: flashcards, play-quizzes, quiz-app, spaced-repetition-system, supermemo2
- Language: Elixir
- Homepage:
- Size: 1.67 MB
- Stars: 92
- Watchers: 4
- Forks: 12
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Memoet
[![Memoet CI](https://github.com/memoetapp/memoet/actions/workflows/memoet.yml/badge.svg)](https://github.com/memoetapp/memoet/actions/workflows/memoet.yml)
> Play quizzes & review flashcards to memorize everything using spaced repetition method
## User guide
See [memoet.gitbook.io](https://memoet.gitbook.io/docs).
## Developer guide
1. Install `asdf`
Follow instructions [here](https://asdf-vm.com/).
2. Install `Rust`
Follow instructions [here](https://www.rust-lang.org/tools/install).
3. Install `erlang`, `elixir` and `nodejs`
```sh
asdf install
```4. Install project dependencies
```sh
mix deps.get
(cd assets && npm i)
```5. Migrate database & start server
```sh
mix ecto.setup
mix phx.server
```Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.
## Deployment
- Docker: [docker-compose.yml](./docker-compose.yml).
- Ubuntu: [ubuntu.sh](scripts/ubuntu.sh)
- Heroku: [heroku.sh](scripts/heroku.sh)
### Environment
- Basic setup:
| Environment | Required? | Why? |
|----------------------|-----------|---------------------------------------------------------------------|
| `SECRET_KEY_BASE` | Yes | For cookies encryption, can be generate with `openssl rand -hex 48` |
| `DATABASE_URL` | Yes | For saving stuffs, only Postgres is supported for now |
| `DATABASE_SSL` | No | |
| `DATABASE_CERT` | No | |
| `DATABASE_IPV6` | No | For database conn with IP v6 |- For your custom domain:
| Environment | Example |
| ----------------------- | ------------- |
| `URL_HOST` | memoet.com |
| `URL_PORT` | 443 |
| `URL_SCHEMA` | https |- For uploading images to S3:
| Environment | Example |
|-------------------------|------------------------|
| `AWS_BUCKET_NAME` | cdn.memoet.com |
| `AWS_ACCESS_KEY_ID` | xxxxxxxxxxxxxxxx |
| `AWS_SECRET_ACCESS_KEY` | xxxxxxxxxxxxxxxx |
| `AWS_REGION` | us-east-1 |
| `AWS_ASSET_HOST` | https://cdn.memoet.com |- Extra configuration:
| Environment | Why? |
|----------------------|-----------------------------|
| `SENDINBLUE_API_KEY` | For password recovery email |
| `SENTRY_DSN` | For error logging |