Coder Social home page Coder Social logo

healersconnnect's People

Contributors

chetantomar avatar mrhardikjoshi avatar parthivpatel-btc avatar rordevalt avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

healersconnnect's Issues

Edit Course

  • User should not be able to create/delete any course
  • User should only be able to change following details:
  • Description
  • Donation
  • Review Donation
  • Image

UI Fixes :

  • Current Edit Page doesn't show the eligibility details. Refer #43
  • #52

Certify Attendee

Registered attendee will get certified after Workshop completes.

Prerequisite for Certifying Attendees

  1. Registration must be confirmed
  2. Registration must have certificate number. This will be updated by center admin after Workshop gets complete for each registration by editing the registration.

Mockup

selection_345

Scenario 1:

  1. User clicks on Certify button on to of the listing
  2. Show Popup with following details

Condition 1: Some of confirmed registrations have not updated with certificate number
- Show popup with message "Following attendees doesn't have certificate number. Please update registration with certificate number.". Also list down Name of tall attendees for which Registration is not updated with certificate number and give edit registration link and open the link in new tab.
- Provide a 'Cancel' button to close the popup

Condition 2: All confirmed registrations have certificate specified
Show Popup with message. "You are about to certify #{number_of_confirmed_registration} attendees for #{workshop name}. Are you sure you want to continue certification process?"
- There will be two buttons 'Continue' and Cancel(to close the popup)

When user press 'Continue'

  1. Mark the registration as certified(#79)
  2. Create User for the registration if not already exists
  3. Track the certification for the attendee. This would be relation(Certificate) between User(attendee), Workshop and Registration. Copy certificate number from Registration to Certificate.
  4. Show success message '#{number_of_confirmed_registration} attendees have been certified success fully for #{workshop_name}' and redirect to Registration Page.
  5. User now should not see any 'Certify' links.

Scenario 2:

  1. User clicks on Certify link of a registration
  2. Show Popup with following details

Condition 1: The registration has not updated with certificate number
- Show popup with Name of the attendee for which Registration is not updated with certificate number with message "#{name} doesn't have certificate number specified. Please update registration with certificate number."
- Provide a 'Edit' button to edit registration.

Condition 2: The registration has certificate specified
Show Popup with message. "You are about to certify #{name} for #{workshop name}. Are you sure you want to continue certification process?"
- There will be two buttons 'Continue' and Cancel(to close the popup)

When user clicks on Continue, the outcome would be same as what is specified in the Scenario 1.

New Registration for Non Registered

Refer Workflow #51

  1. User clicks on Register button/link for a Workshop
  2. Show popup to asking for Login if he is a registered user OR Continue Registration.
  3. User will click on Continue Registration button and he will be redirected to registration page for the course.
  4. User starts filling the details. If his phone number matches any record in users table then show popup again(step 2).

The Form should ask for details of courses he attempted earlier based on the eligibilities required for the workshop. Refer #43

E.g,

  1. For Advance Pranic Healing (APH), BPH is the eligibility. So ask user for BPH detail(see below wireframe)
  2. For Arhatic yoga, eligibility is PPT and AOHS. But PPT requires APH and APH requires BPH. So user will be asked to fill details for BPH, APH, PPT, AOHS in order

Save these details as JSON/Hash in a column of Registration model.

Wireframe

selection_329

Split Registration model in to three models

  1. The final models will be as below

Registration
Following fields will remain same as before in Registration model all other fields will be moved to other table

:fresher,
:payment_type_id,
:cheque_no,
:bank_name,
:cheque_date,
:registration_date
:workshop_id

UserProfile

t.string :first_name
t.string :middle_name
t.string :last_name
t.date :birth_date
t.string :education
t.string :occupation
t.string :gender
t.boolean :married
t.text :address
t.string :mobile
t.string :telephone
t.string :email
t.string :location
t.float :long
t.float :lat
t.references :registration
t.references :user

Workshop

workshop_place: string
workshop_dated: string
workshop_instructor: string

  1. Also write script for migrating data. So they are not lost during migration.
  2. Also change the view forms affected by this change.

Suggested UI Changes

  • Add a new navbar option Settings, Move Centers, Courses and Instructors into it. These options will be show on mouse over as drop-down
  • All update form button should have text Save and for New it will be like
    "Create Instructor" #48
  • Page Header alignment at workshop/instructor New/edit page #48
  • Instructor Eligibilities multi-select option should show properly.
    (Take form to some left and increase the size of text-area).
  • Set flash messages on the top. (Workshop)
    Remove padding-top from .page-content class and add this to .page-header
  • All the form fields should left aligned remove .col-md-offset-2 class.
  • Workshop form page: Please make start time and end time drop-down width same.
  • Add Rupees symbol in front of before,after and review donation text box

Contact number validation

Validate contact number across the application with following rules

  • Contact number should have digits only
  • Mobile number must be 10 digit (without prefixing country code or 0). Placeholder '10 digit mobile number'

Static Tables: Role, CourceCategory

Role
  • name

seed [Super Admin, Center Admin, Teacher, Healer]

CourceCategory
  • name

seed [ Healing & Protection, Prosperity & Abundance, Spirituality]

Manage Activities

Activity is an Event(#69) but it's category always be 'Activity' by default and manged in separate pages.

Manage Event

Following details describes an Event

  • Name
  • Description - Can be long HTML text
  • Image(optional)
  • Category - Refer Wiki

Center Admin should be able to manage Events. If Event has already any EventSchedule(#70) associate with it then it can't be deleted.

Manage Workshop : Edit/Delete

  • "Start Date" and "End Date" are not insert into database table.
  • Put links of "Edit" and "Delete" on listing page and make edit/delete operations .

Provision for certificate number in Registration

The Registration should have certificate number and a flag column to mark if the registration has been certified or not. The certificate number input would be available to Center Admin only when he edits the Registration.

The format of certificate number would be [0-9]{2}/[0-9]{2} [0-9]+. e.g, 06/13 136, 12/13 12547

Give input field for each portion like the wire frame
selection_346

Admin Namespace for all admin pages

Courses, Activities and Events would be accessed by non logged in users and would have different layout (e.g., #89) than what admin users have. So to avoid conflict we have to refactor routes so that all the admin pages have /admin namespace.

Create a relation table b/w User and Role

Create a Relation table named UserRole with following relationship

class User < ActiveRecord::Base
  has_many :user_roles
  has_many :roles, through: :user_roles
end

class Role < ActiveRecord::Base
  has_many :user_roles
  has_many :users, through: :user_roles
end

class UserRole < ActiveRecord::Base
  belongs_to :role
  belongs_to :user
  belongs_to :center
end

class Center < ActiveRecord::Base
  has_many :user_roles
end

Course Models

CourseCategory

name(string)
alias(string)

Course

name(string)
alias(string)
description(text)
eligibility(string)
Ref:CourseCategory
donation(int)
review_donation(int)

CourseCategory Seed
  1. Healing & Protection
  2. Prosperity & Abundance
  3. Spirituality

Staging Instance on Heroku

Create a new staging environment other than pranichealing.herokuapp.com. pranichealing.herokuapp.com would remain as a live site.

Manage Users

Users can have many roles(#29). Here is list of roles

  1. Super Admin - Access to whole system
  2. Foundation Admin - Access to whole system
  3. Center Admin - Access to specific center(#8)
  4. Instructor (As of now Teacher. Change it to Instructor ) #26
  5. Healer #27 - Can Add details of courses attempted
  6. Accountant - As of now manage donations(#25)
  • An user can have multiple roles(#29). e.g., Foundation Admin can be center admin
  • Foundation Admin, Center Admin and Instructor would always be Healer(implicitly)
  • Super Admin and Foundation Admin can manage Foundation Admin, Center Admin, Instructor
  • Center Admin can manage Accountant, Healer
  • User having healer role only be created by registration(#27) only.

UI issues founded in Development

  • Instructors:: New or Edit: Multiselect select (x) icon issue

selection_023

  • Donations index page: Add same style on multiselect
  • workshop navbar option is not showing active at the workshops pages

Manage Event Schedule

Center admin should be able to manage schedule for an event(#69) . He need to specify following details

  • Event(#69) for which the schedule is being created
  • Center (#8) where the event/activity occurs
  • Location where this event is taking place
  • Start Date Time
  • End Date Time
  • Contact
  • Donation
  • Eligibility - Refer #43
  • Notes is HTML enabled long text

Center Admin should be able to manage Events. If Event has already any EventSchedule associate with it then it can't be deleted.

You may find many details common to Workshop(#31)

Model spec

Write model specs for all models with covering validations and possible edge cases.

Manage Course CRUD

  • Make all CRUD method at courses controller.
  • Make appropriate views

Refer #43 and #53 for enhancments

Manage Workshop : Edit/Delete

  • Set flash messages on the top. (Workshop)
    Remove padding-top from .page-content class and add this to .page-header
  • All the form fields should left aligned remove .col-md-offset-2 class.
  • Workshop form page: Please make start time and end time drop-down width same.
  • Add Rupees symbol in front of before,after and review donation text box

Manage Donations

User with role Center Admin OR Accountant should be able to manage donation for that center. (Refer #29 for roles)

Capture following details for the donation.

  • Donor Name and email ( if donor is not user of the system). If user is registered user then should make relation(user_id)
  • Donation Type (For Center, For Food for Hungry, Workshop)
  • Donation Amount
  • Who has received the donation - This will be the logged in user
  • Free filed for Description of the donation
  • If donation received for Workshop specify the workshop, specify the Registration(#27) for which donation received.

On saving donation record, and email receipt should be sent to the email if specified(OR to the email with with user registered). Later we need to send PDF receipt attached in email.

The logged in user should be able to download the PDF receipt of any donation.

Donation record is editable(need to confirm with Pranic Healing). After saving the record a notification mail with old and new details should be sent to donor and all the authenticated user who has access to donation functionality.

Reports

  • Authenticated User should be able to generate reports(tabular + visual)
    • By timeline weekly, monthly and yearly donation
    • By received by user with timeline
    • By donation type
  • User should be able to export reports in PDF

Add donation types from seed :-

  1. For Center
  2. For Food for Hungry

donation_type : string
description : text
center_id : integer
received_by_user_id : integer (The user who has received the donation)
user_id : integer (The user who has donated)
workshop_id : integer

UI Changes : Course Management

  • Remove Course Category (Radio Buttons) Row
  • Name is not editable as per #53. So instead of text field show name with it's category as a text
    e.g., Basic Pranic Healing [ Healing & Protection ]
  • Make Donation and review donation width smaller (check input-sm class of form-elements.html) and also make the text right align withing text box
  • Change 'Update Course' button caption with 'Save'

center admin can access Registrations

Currently center admin doesn't have access on Registrations.

Center admin should be able to access registrations. But only those registrations which are related to his center.

Manage instructor

Instructor can be managed by Foundation Admin Only

Name
email
mobile
Eligibilities - Which courses instructor can taught

Validations

  • All details required
  • Mobile number should be validated as per #45
  • Emails should be in valid format

Refer #28 for courses

Course Enahacement

The number of courses is fixed. Also we would need fix id(alias) which should remain fixed always.

  • Introduce two more fields
  • alias - field to uniquely identify the course(given at the end of each course name below).
  • eligibility - comma separated list of alias
  • Seed below courses

List of courses with alias and eligibility

Healing and Protection

1.Basic Pranic Healing (BPH)

  • 16+

2.Advanced Pranic Healing (APH)

  • BPH

3.Pranic Psychotherapy (PPT)

  • APH

4.Pranic Crystal Healing (PCH)

  • PPT

5.Psychic Self-Defense (PSD)

  • PPT

6.Super Brain Yoga (SBY)

  • BPH

7.Pranic Facial Rejuvenation (PFR)

  • PPT and PCH

8.Pranic Face Lift and Pranic Body Sculpting (PFL_PBS)

  • PPT and PCH

Spirituality

9.Achieving Oneness with the Higher Soul (AOHS)

  • 16+

10.Arhatic Yoga (AYP)

  • PPT and AOHS

11.Spiritual Essence of Man (SEOM)

  • BPH

12.Spiritual Business Management (SBM)

  • BPH

13.Universal and Kabbalistic Meditation on Lord’s Prayer (UKMLP)

  • BPH

14.Inner Teachings of Buddhism Revealed (ITBR)

  • BPH

15.Inner Teachings of Christianity Revealed (ITCR)

  • BPH

16.Inner Teachings of Hinduism Revealed (ITHR)

  • BPH

17.Om Mani Pad Me Hum (OMPH)

  • BPH

Prosperity & Abundance
18.Kriyashakti (KS)

  • AYP

19.Pranic Feng Shui (PFS)

  • PPT

Original Feature #28

Course Issues

  • Edit page for Basic Pranic Healing and Achieving Oneness with the Higher Soul shows wrong eligibility. It should be 16+ years
  • Align Donation and Review Donation column to right.
  • Serial no start from one one next page.
  • Move Course Name[Category] and Eligibility in the 'Edit Course' Header
  • Move Review Donation besides donation
  • Remove not required controls from text editor

Manage Centers

Authenticated user should be able to manage centers.

Models
Foundation

name
ancestry

Center

name
location
lat
long
address
phone 1
phone 2
mobile
email
Ref: Foundation

Wireframes
Add Center

selection_271

Registration flow

This is just to understand the basic registration flow. Related issues will be created in details.

selection_323

Home > Courses

When user clicks on 'Courses' link on home page(#50) user should see course details page with Basic Pranic Healing as default course.

Wireframe

selection_349
option 1

Here first dropdown has list of Course Category and second dropdown contains all the courses falling in that category.

The Main content column has Name of course, an image and description.

The Right hand column shows Eligibility(prerequisite) and all upcoming Workshops of that course.

Refer : http://www.globalpranichealing.com/en/courses/1/

Manage Workshops

Center Admin / Foundation admin should be able to manage workshops

Workshop is a active knowledge session on a Course(#28) by some Instructors(#26) on specific day(s) and time

Following details are required to capture

  • Course
  • Instructor
  • Assistance Instructor(optional)
  • Center that is conducting the Workshop(#8)
  • Session Date and Time - The course can have multiple sessions (+ link to add Additional session with date and time if any)
  • Donation for the course
    There are two types of attendees
    1. Fresher - attempting the course first time

    2. Review - reviewing

      For fresher there are different donation amount: before specific date, after specific date and on the day of workshop(spot)

      For reviewer the donation amount would be same for any day registration.

When Center Admin creates workshop, the center is implicitly selected. When Foundation admin creates workshop he has to chose the center.

After workshop competed, no one should be able to change any details

Requires some reporting but will create separate issue

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.