arsnovaš cards
The Progressive Web App arsnovaš cards offers students a modern and intuitive access to one of the most successful and evidence based learning methods, i.e., spaced repetition.
arsnovaš cards uses Meteor as application framework. For local development, you can choose the native or the containerized version with Docker.
Hardware requirements
- 4 GB RAM
Setup with Docker
This is the recommended method!
Instructions for starting cards with Docker can be found »here«.
Setup (native)
Requirements: Node.js 12.22.21 and MongoDB 4.4.4 (If used with a separated database)
| Step | Linux Terminal Command |
|---|---|
| 1. Install Meteor | Refer to the link in the step column |
| 2. Install git | sudo apt install git |
| 3. Install python 2. Ubuntu only ships with python 3. | sudo apt install python |
| 4. Install the g++ build-essential | sudo apt install g++ build-essential |
| 5. Make sure that you've added a SSH key | Refer to the link in the step column |
| 6. Clone the remote repository | git clone [email protected]:arsnova/cards.git |
| 7. Move inside the local repository "cards folder" | cd cards |
| 8. Install the npm package dependencies | meteor npm install |
Settings (These steps are only required if you want to deploy š cards on a server)
- Add the cas id of the admins inside the admin.id array of
settings.json(cas account) - Change
settings.jsonaccording to your needs
Warning: Never publish your settings file!
Meteor updates
A simple update to the latest Meteor version is not always possible. Please do not update Meteor to the latest version and leave this to the owners of the repository.
Starting the app
Use one of the following commands inside the repository (cards folder), to start your š cards installation:
-
For development (use this if you're going to run š cards on your local device):
meteor --settings settings_debug.json- Access the app from your host machine by visiting http://localhost:3000
-
For production:
meteor --settings settings.json
Loading the Test Database
- Make sure that you've installed the MongoDB Community Tools
- Start the server with the development settings
Warning: The following step will delete all of your š cards content
- Open a new terminal in the cards folder and load the Test Database with:
./tests/loadTestDatabase.sh
Analyze code style locally
For the local analysis with docker-compose you'll need docker and docker-compose installed. To run a local code style check with sonarqube, follow these steps:
- switch into the analysis folder
cd analysis - start the sonarqube server
docker-compose up -d sonarqube - when sonarqube has started, you may run analysis whenever you want with
docker-compose run --rm analysis
Sonarqube will be accessible at localhost:9000. You find the cards project after the first successful analysis in the projects section.
Optional features
Authentication setup (For Google+, Facebook and Twitter logins)
Braintree setup (For PayPal payments)
- Create a Braintree sandbox account
- Login to the braintree sandbox
- Retrieve your api keys (navigate to: My User > View Authorizations)
- Insert the keys into
settings.json - Inside Braintree sandbox, navigate to Plans from left menu under
Reccuring Billing - Create one plan with id "pro" and your preferred price (lowercase for Plan ID, Plan Name's should be "Pro")
Firebase setup (For push notifications)
- Create a Firebase project
- Get the FCM VAPID public and private key from your Firebase project (project settings > cloud messaging > Web configuration)
- Insert the keys and a mailto: Address into your
settings.jsonfile:- Public key:
public.FCM_VAPID_PUBLIC_KEY - Private key:
private.FCM_VAPID_PRIVATE_KEY - mailto: Address:
private.FCM_VAPID_MAILTO_ADDRESS
- Public key:
Contribution guide
The contribution guide can be found here.
Documentation
The documentation can be found here.
CI Pipeline
| Server | Status |
|---|---|
| Staging | |
| Production | |
| Linux | |
| SonarQube |
Credits
arsnovaš cards is powered by Technische Hochschule Mittelhessen - University of Applied Sciences.