Student Explorer is an early warning system that helps academic advisors at the University of Michigan-Ann Arbor identify at-risk students based on current term Learning Management System data. It started in 2011 as a research project at the University of Michigan USE Lab; LSA Technology Services, Academic Innovation, and ITS Teaching & Learning have contributed to the design, development, and management of the tool. Student Explorer is in use as an enterprise production application at U-M and continues to be developed by ITS Teaching & Learning. The code is open source and is licensed under Apache 2.0. The application primarily relies on Django for the backend and Bootstrap and jQuery for the frontend.
- About the Student Explorer Application
- Student Explorer Documentation
- Student Explorer Release Notes
To contact the Student Explorer team, please email [email protected].
Student Explorer uses two separate data sources in production:
-
A MySQL database, which contains administrative and management tables typical for Django databases, including django_admin_log (log of changes made in Django admin), tracking_event (log of events tracked in the application such as page views, logins, and redirects), and auth_user (user accounts). This database also maintains the cohort relationships and is being used to cache page templates to improve performance.
-
U-M Data Warehouse Oracle database edwprod.world, which contains the data served up in the application, including basic student and course data, grades, assignments, etc. For full information on the tables in the U-M Data Warehouse that are used by Student Explorer, see Teaching & Learning Student Explorer dataset information.
Note that when you follow the instructions below to start up a local version of the application, both data sources will be created in the same MySQL database and populated with fake data. This data will help demonstrate the tool's functionality.
To follow these instructions, you will need to have Docker installed. For those new to the technology, the documentation includes a detailed introduction.
-
Clone and navigate into the repository.
git clone https://github.com/tl-its-umich-edu/student_explorer.git # HTTPS git clone [email protected]:tl-its-umich-edu/student_explorer.git # SSH cd student_explorer
-
Create a
.env
using.env.sample
as a template.mv .env.sample .env
-
Build and bring up the development server using
docker-compose
.docker-compose build docker-compose up
Use
^C
anddocker-compose down
to bring the application down. -
Browse the application on localhost.
- Navigate to http://localhost:2082/.
- Log in as
admin
or an advisor (e.g.burl
). All passwords are the same as the user's username.
Not all pages will have complete data. The pages for Grace Devilbiss provide a comprehensive example of how the tool presents and visualizes student data.
When working on the application, you should periodically run and update the unit tests. To run them, use the following command while the development server is up.
docker exec -it student_explorer /bin/bash -c "echo yes | python manage.py test"
You can also enter the running Docker container — and then run your own commands — by using the first part
of the above command, docker exec -it student_explorer /bin/bash
.
The application is currently configured to use the
Django Debug Toolbar to assist with development. The toolbar
will only appear if DJANGO_DEBUG
is set to true
in the .env
and the user is logged in as a superuser.
By default, Django's manage.py
process looks for the student_explorer.local.settings_override module
. This file is
created automatically when using docker-compose
based on instructions in the Dockerfile
. In addition, wsgi.py
(which is used by start.sh
) looks by default for the student_explorer.settings
module. This file is versioned as
part of the repository. This behavior can be changed for both manage.py
and wsgi.py
by setting the
DJANGO_SETTINGS_MODULE
environment variable.