Git Product home page Git Product logo

examen's Introduction

Ignatian Examen

For "intellectual and spiritual growth grounded in a deepening relationship with Christ."

This is a website specifically made for Regis High Shool to use for writing and recording weekly examens.

The original process comprised:

  1. Write out entire new examen script with list of prompts and pauses included
  2. Use Audacity to record a read-through of the script without pauses
  3. Use Audacity to generate the silent pauses in between prompts
  4. Use Audacity to add a music backing track and raise/lower volume as prompts are played
  5. Edited audio is exported and saved

This website addresses that entire list and more, as through the website staff can:

  1. Write an examen prompt by prompt
  2. Record the audio in-browser for each prompt
  3. Set the pause of each prompt
  4. Upload a musical backing track
  5. Have the entire examen pieced together automatically
  6. Have the backing track automatically fade in/out with prompts
  7. Allow viewing of posted examens by students, faculty, and the general public
  8. Allow Regis students/faculty to login with their Regis Google accounts to personalize, e.g. pin favorite examens

Videos

Auto Examen Playthrough - https://www.youtube.com/watch?v=Epl2XdFR8RY Post New Examen - https://www.youtube.com/watch?v=5wX-LEP6VPk

Technology

This website is written in NodeJS and uses KoaJS for the backend with MongoDB, and at-times VueJS for frontend.

examen's People

Contributors

apexal avatar dependabot[bot] avatar imgbotapp avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

examen's Issues

Better sanitization

  • Prevent huge files from being uploaded
  • Limit all user input lengths
  • Perhaps filter bad words?

School-agnostic system

Allow potential future support of multiple schools

Associate users and examens with schools

Active examen and scheduling system

Instead of "Today's Examen", admins have a scheduling system where posted examens in the archive are active for certain time periods with start and end dates.

"Current Examen" would redirect to the current active examen page.

Examen visibility options

Allow posters to choose whether or not to allow non school users to view the examen.

Maybe even have a "private" option to keep the examen hidden from everyone but yourself.

i.e.

  • Public
  • [School Title] Members Only
  • Private

Administrator page

Administrators (per school) can see an overview of their school submissions and everything

School specific themes

Using CSS variables:

Each school gets a [school]-theme.css which contains:

:root {
	--school-primary-color: color;
	--school-secondary-color: color;
	...
}

The existing stylesheets replace the Regis red colors with variable references

Pug layout template picks school stylesheet (or a default one if not logged in)

Write README

A lot can be written there!
Links to the YouTube videos as well.

Show duration of examen audio playthrough

On the examen archive and examen specific page, show the time duration of the audio playthrough.

This can be accomplished by on new examen post, loading the audio previews and summing the durations.

Audio Recording System

This could be so cool:
On the new examen page

  • allow upload backing music track
  • allow recording of each prompt
  • set pause time for each prompt

On playback, play each audio clip after the other, with the specified pauses in between, switching to the proper tab at each pause.

Store audio prompts in

Use GridFS to store the recorded prompts in MongoDB itself, removing the need for a filesystem to hold them.

Permission system

Set a permission system to allow certain logged in staff members to add/remove examens.

Only show certain info to logged in students/staff.

Submission system

Students can record examens and put them up for submission.

Approved faculty have a page where they listen to submissions and can deny or approve them for posting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.