Elon Musk has destroyed Twitter and we need you to recreate it!
Create an app like Twitter that shows all tweets on the home page. Users can create tweets, but must create an account and be logged in to do so.
- Use Ruby on Rails with postgresql as the database
- Use the devise gem for user signup and authentication
- Users should have to validate their email address before being allowed to create new tweets
- A tweet should have a maximimum of 255 characters and belong to a user
- A tweet cannot be blank
- On the home page tweets should be shown from most recent to oldest
After completing this first phase of work, someone on the Cloverpop Engineering team will review your code and give you further instructions for new functionality. This will go on until you've reached about 40 hours of coding time.
You should put in exactly 40 hours of coding on this test over the course of 2 weeks. If you are unable to put in the full 40 hours by January 30 because of power outages, family emergencies, etc. we will take that into consideration when evaluating your performance.
- All work should be submitted in a separate branch and made into a pull request. Assign the pull request to you and set the "Reviewer" to Roger and Dima.
- In addition to new functionality you may be asked to make changes to your existing code via "Issues". Please attach issues to the pull requests that address them.
- Each pull request should list the amount of time you spent on it, e.g.
3.25 hours
for 3 hours and 15 minutes.
You will be provided a Heroku app to post your application to. It's recommended to set the Heroku app to automatically deploy when changes are made to your main or master branch.
- There should be no collaboration with teammates on this project.
- Everything submitted should you written by you alone. Excessive copy and pasting, including other people in this work, or using tools that generate code is forbidden.
- If you wish to add functionality that isn't explicitely asked for please ask in advance before doing it.
- Please do frequent and small commits instead of fewer with a lots of changes per commit. Push your commits to Github at least once per day.