Git Product home page Git Product logo

rails_capstone_lessons_lab's Introduction

Lessons Lab

This web application is a mobile application targeting freelance teachers to admin, track, and manage lessons with their students.

. The front end is based on the original design idea by Gregoire Vella on Behance .

screenshot

Live App link

heroku live site

For the demo, use the following pre-loaded users. You could also create new users. For all users, the password is password

email name role
[email protected] Sussane teacher
[email protected] Carlos teacher
[email protected] Anna student
[email protected] Clara student
[email protected] Cecil student
[email protected] Caro student
[email protected] Matt student
[email protected] Laureano student
[email protected] Robert student

Customer Story

- The user logs in to the app, only by typing the email
    . Additional feature implemented: password is an additional feature (demo password: password)
    
3. The logged-in user is presented with a profile page that includes:
    a. Bookings ("all my transactions")
        - Inside bookings two taps hell to show  
    b. All Courses 
    d. Additional feature: All students '''not available in demo'''

4. When a logged-in user opens "My billable bookings" page:
    a. The total amount of booked minutes is displayed on top.
        i. Additional feature: All equivalent revenue also displayed.
    b. A list of all transactions created by a logged-in user is displayed (sorted by most recent)
    c. Each transaction displays:
        i.  Student name (name), 
        ii. minutes-amount and date, 
        iii. equivalent price per session. 
        iv.  Course's grouping icon (group).
    d. An action button "Add new booking" is displayed

5. When the logged-in user opens "My non-billable booking" page:
    a. A list of all created transactions  by an authenticated  teacher but not assigned to any course (group), or student (user). 
    b. The design of the page is similar to the "My billable bookings."

6. When a logged-in user opens the "All Courses " page:
    a. A list of all courses is displayed in alphabetical order.
        
    b. Each Course displays its icon, name, and record creation date.


7. When a logged-in user opens the "Course transactions" page:
    a. A list of all transactions that belong to that Course is displayed.
    b. The design of the page is similar to the "All my bookings."  Each booking displays the name of the author of the transaction.

8. When a logged-in user opens, "create a new course" or "Add new transaction" page:
    a. A form with all necessary fields is displayed.

9. Additional feature: For create a new course, the following vital data should be provided (among others)
        i. Course name.
        ii. Price per session.
        iii. Session length.
        
10. Additional feature: Signing up students to courses:
    a. Only a professor and course author can enroll students in courses.
    b. Enroll student button is available only on the "course index page"
    c. "add a new transaction" shows on the "course transaction page"
        i. A transaction can be created only for students currently enrolled  into the Course.
        
11. Next release features: Signup of students:
    a. Students will be created only by teachers. Fields will include.
        i. Name
        ii. Email
        iii. Role: student
    ```for simplification this feature is not implemented in the demo```

Technical design details

  • Below I include the fundamental ERD design and associations map to better understand the implemented solution.

ERD design

screenshot

Models Associations Map

screenshot

Environment set up requirements

To run this project, you need ruby installed in your environment Run the following command:

$ ruby -v

You should have a result similar to this: s

ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]

If you don't get that result, follow this link and install Ruby in your local environment.

Setup

  • Clone this repository in your local environment
  • Located on the root of repository execute

bundle install

This action will install all the required dependencies.

Built With

  • Ruby
  • Ruby on Rails
  • bootstrap
  • Devise
  • RSpec
  • Capybara
  • FactoryBot
  • Shoulda-Matchers

Authors

๐Ÿ‘ค Carlos Anriquez

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

Acknowledgments

  • My Family (Oh man, after 70 hs in 9 days, definitely has been fundamental support)
  • The great TSE team for a fast review, key challenges, and contributions: Addo, Simon, and Issac. Thanks, Guys!
  • @microverse / The Corgis

Show your support

Give a โญ๏ธ if you like this project!

๐Ÿ“ License

This project is MIT licensed.

rails_capstone_lessons_lab's People

Contributors

canriquez avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

rammazzoti2000

rails_capstone_lessons_lab's Issues

Feedback - Corgis Team 73

  1. Congrats, so far so good.
  2. Fix icon rendering in production (Heroku).
  3. In Course view, show students enrolled in courses and lessons offered in the course.
  4. Implement student acceptance feature in Manage Booking section.
  5. Complete the RSpec tests, specifically user model tests.

Feedback - Corgis Team 73

  • The project looks functional and it is motivating how it puts everything together to make the app work.
  • Fix responsiveness for the portfolio. And pending features (see newly created issues)

Feedback from team 73 - The corgis

  • Good overall project execution approach.
  • Good choice for changing the original project theme. The new theme is solving a real problem.
  • Keep up the good work.
  • Get some sleep.

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.