Giter VIP home page Giter VIP logo

todomvc-rails's Introduction

Phamily Software Engineering Exercise

At Phamily, a lot of our work involves building well-crafted software to delight our users. So instead of estoric puzzles and brainteasers, we like to get real and simulate building some real features together.

Challenge

Imagine we're working together on this todo list feature (in Rails). Our user feedback indicates that due dates are important to manage things better. Please add the following enhancements to the todo list:

  1. Set a due
  2. Sort by due date
  3. Group list by due date, e.g. Overdue, Today, Tomorrow, etc.
  4. Extra credit: Use some Ajax calls instead of form POSTs.

Submission instructions

Fork the project on Repl.it at: https://replit.com/@ToufiqueHarun/todomvc-rails

Add your features. Then email us:

  1. A completed Repl.it link showing your working code.
  2. A 3-5 minute screencast link demoing your new features and talking through the major parts of the code.

Feel free to use any screencasting software. Vidyard or Loom are decent if you need a recommendation.

Guidelines

  • We expect spending between 2-6 hrs on the project, depending upon your familiarity with the technologies involved. We recommend timeboxing and seeing how much you can do within that time.
  • It's okay if you're not able to finish all the features. We prefer fewer things done well over everything done, but not well.
  • Feel free to use your intuition and judgement on time-scope-quality tradeoffs related to the features and implementation details.
  • Keep code clean. Make things look nice. Have fun with it!

What we'll be evaluating

  • Clean working code
  • Architectural thinking
  • Product craftsmanship
  • Clear communication

Good luck!


Original Rails on Replit README below


Rails on Replit

This is a template to get you started with Rails on Replit. It's ready to go so you can just hit run and start coding!

This template was generated using rails new (after you install the rails gem from the packager sidebar) so you can always do that if you prefer to set it up from scratch. The only had two make config changes we had to make to run it on Replit:

  • bind the app on 0.0.0.0 instead of localhost (see .replit)
  • allow *.repl.co hosts (see config/environments/development.rb)
  • allow the app to be iframed on replit.com (see config/application.rb)

Running the app

Simple hit run! You can edit the run command from the .replit file.

Running commands

Start every command with bundle exec so that it runs in the context of the installed gems environment. The console pane will give you output from the server but you can run arbitrary command from the shell without stopping the server.

Database

SQLite would work in development but we don't recommend running it in production. Instead look into using the built-in Replit database. Otherwise you are welcome to connect databases from your favorite provider.

Help

If you need help you might be able to find an answer on our docs page. Alternatively you can ask in the community. Feel free to report bugs here and give us feedback here.

todomvc-rails's People

Contributors

toufique avatar

Watchers

 avatar

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.