s the database schema to match the migration definitions
python manage.py seed Seeds the database with mock data
python manage.py env ENV_NAME ENV_NAME must be either ”prod” or ”dev”.It reads in the environment definition from .env.prod or .env.dev respectively, and makes it the active environment
python manage.py runserver: Spawns a webserver on http://localhost:9000 running the application with hot-reload
python manage.py runsslserver: Spawns a HTTPS compatible server on https://localhost:9000 running the application with hot-reload
7.2.4 Production Configuration
Typically, a RiPPLE server in development mode will be running on the loopback address of the machine through the use of a stable webserver (e.g., gunicorn), but with an external web server (e.g., nginx) proxying the request into the loopback adrress.
You will need to initialize your .env.prod environment file to production values, which should be kept secret. An example .env file is provided in the repository (.env.example), but python manage.py env ENV_NAME will also create an .env.current file if none exists.
Ensure that ./src/ripple/settings.py has ALLOW_UNAUTHENTICATED set to False if you are deploying to a live system
To initialise your production environment, you have two options: (1) run python manage.py prod - which will prompt to create a .production.env if none exists amd (2) run cp .env.example .env.prod - which will copy the example configuration into a development file
Once your environment file has been created and your dependencies installed you will be able to build and test your application. The key command for production development is sudo -E ./deploy.sh .env.prod, which will deploy your application and run it as a service. Running the application as a service is the best way to ensure it continues to run after an SSH disconnect
RiPPLE is an open-source system - and always will be. Collaboration, improvements, suggestions and pull requests are always welcome. In order to streamline the development process; the following guide exists to help people get started:
Open a ticket in the ticketing system - this will serve as a point of contact to the project maintainers.
Either: a. Create a branch of the format RIPPLE-#:ticketId. (eg. RIPPLE-#33 for ticket #33). b. Fork the project and do your work there.
When the work is finished, create a pull request to indicate your changes are ready to be reviewed. In your pull request; document your changes and preferably link to your ticket.
Your code will be reviewed by a project contributor, and will be merged in if it aligns with the projects goals (which was hopefully discussed previously in your ticket).
After your code has been merged in, this documentation will be updated as appropriate.
- Baker et al. (2008) Baker, R., Corbett, A. T., and Aleven, V. 2008. In International Conference on Intelligent Tutoring Systems. Springer, 406–415.
- Banfield and Wilkerson (2014) Banfield, J. and Wilkerson, B. 2014. Increasing student intrinsic motivation and self-efficacy through gamification pedagogy. Contemporary Issues in Education Research (Online) 7, 4, 291.
- Biggs (1999) Biggs, J. 1999. What the student does: teaching for enhanced learning. Higher education research & development 18, 1, 57–75.
- Bovill et al. (2011) Bovill, C., Cook-Sather, A., and Felten, P. 2011. Students as co-creators of teaching approaches, course design, and curricula: implications for academic developers. International Journal for Academic Development 16, 2, 133–145.
- Cai et al. (2011) Cai, X., Bain, M., Krzywicki, A., Wobcke, W., Kim, Y. S., Compton, P., and Mahidadia, A. 2011. Learning to make social recommendations: a model-based approach. In International Conference on Advanced Data Mining and Applications. Springer, 124–137.
- Cazella et al. (2010) Cazella, S., Reategui, E., and Behar, P. 2010. Recommendation of learning objects applying collaborative filtering and competencies. In Key Competencies in the Knowledge Society. Springer, 35–43.
- Cechinel et al. (2013) Cechinel, C., Sicilia, M.-Á., SáNchez-Alonso, S., and GarcíA-B