This is the takeaway challenge, a week(end) 2 project from Makers Academy, used to develop my skills as a junior developer over the weekend following week 2 at Makers Academy Coding Bootcamp.
_________
r== | |
_ // | M.A. | ))))
|_)//(''''': | |
// \_____:_____.-------D )))))
// | === | / \
.:'//. \ \=| \ / .:'':./ )))))
:' // ': \ \ ''..'--:'-.. ':
'. '' .' \:.....:--'.-'' .'
':..:' ':..:'
This project was started to build my skills with Ruby and Rspec at the suggestion of Makers Academy.
The aims:
All tests passing High Test coverage (>95% is good) The code is elegant: every class has a clear responsibility, methods are short etc.
No further development expected.
96.75% test coverage.
As a customer So that I can check if I want to order something I would like to see a list of dishes with prices
As a customer So that I can order the meal I want I would like to be able to select some number of several available dishes
As a customer So that I can verify that my order is correct I would like to check that the total I have been given matches the sum of the various dishes in my order
As a customer So that I am reassured that my order will be delivered on time I would like to receive a text such as "Thank you! Your order was placed and will be delivered before 18:52" after I have ordered
Rubocop 0.65.0 was used for linting and styling the Ruby code.
Although UML (class and sequence diagrams) were created on paper before coding started photos of them were not taken. The diagrams were binned after many alterations and they were not fit for purpose.
Ruby was used as the main language, with RSpec used for testing.
The code is complex for my current level of skill, features include API integration with and external source, considerate use of mocks, stubs, dependency injection. There are other features, such a loops, hashes, arrays, symbols, errors being raised. There is use of time and date and gems.
Ruby v 2.5.0 was used in the construction of the project, if gems were used (such as twilio here), please find attached a gem file listing those gems for installation.
Twilio API was a feature, for sending text messages.
A TDD process was used in the development of this project, please see the attached RSpec files for details of the testing that was carried out. However I stress that I had to revert to follow the walkthrough exercise online to complete the project as found the project too complex for me at this time.
You should be able to run the code via irb.
No contributions are required at this time, as this is a training exercise, provided by Makers Academy.
Full credit given to Makers Academy who created the challenge and provided the walkthrough which i followed (strictly) for this exercise after trying unsuccessfully for an extended period of time. Their youtube video is here: https://www.youtube.com/watch?v=mgiJKdH9x8c which I verbatim followed, which helped me understand the reasons why a more experienced developer did what he did (and allowed me to play with his code).
Although I have developed a system and have got fairly confident in writing code, I don't think I have enough experience to complete a project of this complexity (after only 2 weeks onsite!) I look forward to the day that i call this project easy.