Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.

SCCapstone/llama

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

247 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ColdCall (llama)

The ColdCall application is a Django-based platform that is designed to assist professors by providing an effective interface for tracking student metrics, attendances, and engagement in the classroom. Professors have the ability to organize multiple classes of students, log attendance and performances, and randomize student selection for interactive participation. This application will be structured with a multi-page interface allowing users to edit/add students and import/export class data.

External Requirements

In order to build this project you first have to install:

In order to deploy this project, you need Gunicorn. (UNIX only) pip install gunicorn

Setup

Running

  1. Clone the repo. https://github.com/SCCapstone/llama.git
  2. Create a .env file with the following:
SECRET_KEY=<put key here>
DEBUG=TRUE
  1. Install the dependencies through pip install -r requirements.txt
  2. Initialize the database through python manage.py migrate
  3. Run the server through python manage.py runserver

Deployment

  1. Follow the prior steps to initialize the server.
  2. Install Gunicorn pip install gunicorn
  3. Create the static directory thorugh python manage.py collectstatic
  4. Edit the .env to set DEBUG=FALSE.
  5. Run gunicorn llama.wsgi

Additional configuration may be required depending on operating system setup. For this, we connected Gunicorn to nginx.

This project requires the use of external services. By default, reCAPTCHA will use test keys unsuitable for production. To use your own keys, add the following to .env.

RECAPTCHA_PUBLIC_KEY = key
RECAPTCHA_PRIVATE_KEY = key

By default, email requests will be sent to the console. For proper password reset functionality, a SMTP server is required, whether self-hosted or from a service such as Mailgun. Configuration will vary depending on service, but further information can be found at https://docs.djangoproject.com/en/5.1/topics/email/.

The current dev server is deployed at https://capsto.me/.

Testing

The unit tests are located in /coldcall/tests/.

The behavioral tests are in coldcall/selenium_tests/.

The test environment settings are located in /llama/test_settings.py/

Testing Technology

Unit testing uses Django's built-in test framework, which is an extension of Python's unittest functionality. Behavioral testing uses Selenium through python, which is automatically set up through the installation process. Google Chrome must be installed.

Running Tests

To run unit tests, use python manage.py test coldcall/tests/ --settings=llama.test_settings.

To run behavioral tests, use python manage.py test coldcall/selenium_tests/ --settings=llama.test_settings (each test will take roughly 5 seconds)

To run all tests, use python manage.py test --settings=llama.test_settings

Authors

Ankit Nath ankitnath2004@gmail.com (anath@email.sc.edu)
Cade Stocker cstocker@email.sc.edu
Colin Richard colincr@email.sc.edu
Thomas Kareka tkareka@email.sc.edu
Trevor Seestedt seestedt@email.sc.edu

Coding Style

The following link provides the style of coding that will be used for the project. https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5