music-library's People
music-library's Issues
Git Workflow
Next time, adhere to git best practices, I see you only have a master branch. In future scenarios, create a different branch for each feature you are to work on.
Base class for all models
You should have a base model for all your models where you put shared logic and interfaces for all other models. There is a whole lot of repetition in your code, in models like Genre
and Artist
you keep including and extending modules some of this method in this module can be kept in your base model.
Also, I want you to research on when to use mixin vs inheritance, I will be glad if you share your findings with me. Thanks.
Folder Structure
Take advantage of folders to structure your code. At this point, it may seem trivial but it's very important as a developer. In your lib folder, leaving code laying on different aspect without grouping them is really not a good approach. So go create models folder
, and controllers folder
move all your models
to the model folder and your music_library_controller.rb
file to your controller folder. This gives your code a good folder structure. Ensure you change the path to require
in your music_library_controller.rb
file to make it work.
Avoid using reserved keywords
You should stay away from using reserved keywords. If you take a look at here you have a method called put
define on line 76
and puts
is also called on line 10
tho, they are different but it creates mystery guess There are several instances of this same puts
method in this file, instead, rename the method to what seems appropriate. To me, this looks like a nice hack
UX
Try as much as possible to not overdo UI, in your case, the UI is affecting the test and also some portion affects the UX, making it take longer than expected. In most cases a simple UI should suffice.
Your UI & UX should revolve around the goal of your application. In this case, an app that makes it easy for users to find and play music in their library. Overdoing it is an overkill. When building UI & UX keep this maxim in mind (Keep it Simple)
I am not asking you to change your UI but just take note of this in the case of next time.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.