Pikimoni is an interactive platform where kids can learn English with fun.
To start PIKIMONI you need a mongodb. The suggested way is to start mogno using docker:
version: "3"
services:
mongo:
image: mongo:4.2
container_name: my-mongo
environment:
- MONGO_INITDB_DATABASE=PiccolaAccademia
volumes:
- data:/data/db
ports:
- 27017:27017
restart: unless-stopped
volumes:
data:
networks:
default:
external:
name: pkm-net
Data are stored on a volume and are kept even if the container is destroyed and recreated.
In order to populate the database with a minimum set of data download this database dump. Unzip it on you local filesystem ad run the following commands in order to copy the dump inside the container and to import into the running mongodb instance:
docker cp ./dump my-mongo:/backup/dump
docker exec my-mongo mongorestore --db PiccolaAccademia --dir=/backup/dump/PiccolaAccademia --drop
You can install compass to connect to your local database and visualize data. This is the connection string you need to use:
mongodb://localhost:27017/PiccolaAccademia?readPreference=primary&appname=MongoDB%20Compass&ssl=false
NOTE: the database name is PiccolaAccademia (italian for Little Academy)
Clone the git repository locally:
git clone https://github.com/a34alefeliza/piccola-accademia.git
Import the project into Visual Studio Code. Create a config.js in the root of the project:
module.exports = {
baseUrl: 'http://localhost:3000',
sberbank: {
url:'https://securepayments.sberbank.ru',
userName:'',
password:''
},
database: {
url: 'mongodb://localhost:27017/PiccolaAccademia'
},
cors: {
origin: 'http://localhost:3000'
},
zoomEnabled: false
};
Create a launcher on VSC in order to start the application:
{
"type": "node",
"request": "launch",
"name": "Start PIKIMONI",
"program": "${workspaceRoot}/server.js"
}
Start the application from VSC. You should see the following log on console:
info: NODE_ENV:undefined
info: basedir: c:\Users\a34alefeliza\git\piccola-accademia
info: listening on port 3000
info: routes loaded
Connect to localhost:3000 with Google Chrome.
If you have imported the database dump, you will find a predefined user:
username: aless76bo password: aaa
This is a teacher profile. Theachers can do several things, such as creating students. In order to create a student, click on the dropdown on the top-right corner and select My students. All fields are mandatory. The theacher chooses the password for his student.
Before starting a lesson, the teacher needs to select the students allowed to enter the room. Only the selected students will be able to interact with the teacher. When the student is online, a green sign appear beside his name.
As PIKIMONI is using cookies, if you want to login both as a teacher and as a student, you need to use different browsers.
On the homepage, browse the *Demo". Here you can find few tamplates to use. When you select a template the first time, probably nothing is going to show up. You need first to select the colelction of images that you want to inject into the template. Click on the gear icon and select one of the available collections (collections are divided into types: images, text, audio, cards).
Now click again on the template from the breadcrumb menu on the top of the page ( Home / Demo / templateXXX ) and the page should reload with some content in it. You can adjust the size of the images by clicking on the resize icon.
A template implements a type of interaction on the elements of the collection. Contents are organized into collections (images, text, audio, cards, ...). The template defines the interaction that teacher and student can have on this collection of elements. Examples are:
1 select one element 2 select multiple elements 3 sort the elements 4 flip the elements 5 drag/drop elements from one container to another ...
TODO: describe existing templates
TODO: describe the control panel
Refer to architecture for technical details
##check nginx configuration: nginx -c /etc/nginx/nginx.conf -t
##refresh certificate (from nginx container): certbot-auto renew
##request a new certificate certbot-auto --nginx -d dev.pikimoni.net
Content type
Image
Digest
sha256:624fd1fa7…
Size
115.6 MB
Last updated
8 months ago
docker pull pikimoni/node