Skip to content

fbado66/Pamela_Panel

Repository files navigation

Pamela Panel

This is a fun Client-side Oriented, Admin Panel to easily manage data regarding fictitious coures, cohorts, students, instructors, and reminders.
This application was build with Ruby on Rails.

The user can login as an Admin and create records to the ficitious school, From students, instructors, cohorts, courses, reminders, and so on.
The homepage gives an overview of all the possible things an admin can do, but to see in more details, the admin can use the navbar and go into each specific section.
There is CRUD all around this application.

Demo


Features

Admin can log in and log out
Can create students, instructors, cohorts, courses, reminders
Can create cohorts and added several students at once
There is client validation around all functions in the application
There is dependency using the domain model, in other words, if an active record association is not supported when deleting one of the models, rather than seeing an error, the application will delete the dependencies as well.

Active Record Associations

There are 8 models in total. Rather than following a typical pattern when drawing the associations, I explored into a different approach, and the associations are as follow:

In here there is the Admin and Reminders models where they are free to exist without dependencies on the others.
For the Cohort model, there are three dependencies, a student, a course, and a instructor. The reason of my approach, is to mimic the reality of a school, and how there is a need for this two models to exist in order to create a cohort
The model Cohort-Students can have one cohort at times, but one or more students can be added at once for the model.

Tech Stack

Ruby on Rails v.2.5.1

PostgreSQL

devise gem

sentry-raven gem

Bootstrap

Build Status

Deployed

Other features may come in the future

Next Steps

If I were to continue working in this project I will add the following:

  • Grades for students
  • Make the application mobile responsive
  • Visit a deploy version here

    Pamela Panel