Thank you for participating in the RoR Apprenticeship Program! Here, you'll find instructions for completing your project.
The purpose of the challenge is for you to demonstrate your Ruby on Rails skills. This is your chance to show off everything you've learned during the course!
You will build and deliver a whole Ruby on Rails project on your own. We don't want to limit you by providing some fill-in-the-blanks exercises, but instead request you to build it from scratch. We hope you find this exercise challenging and engaging.
The goal is to build a RoR application which must include:
- Create an application that
- Is connected to a PostgreSQL
- Fetches data from Api (PokeApi) and save into a DB
- Create a dashboard that is showing all pokemons saved
- Create a form to save/edit/delete custom pokemons
- API exposed to be consumed as JSON
- Adds authentication
- Unit, integration and system testing of happy/golden paths
- Follow conventions and good practices
Nice to have:
- Responsiveness
- Way to export all data to a CSV
- Search feature
- Application deployed, automated or manual deployment (Heroku, Digital Ocean, AWS)
- Use all that you've learned in the course:
- Best practices
- RoR basics
- Error handling
- Ruby gems
- Design Patterns
- Unit Test (RSpec, matchers, mocks)
- E2E
To get started, follow these steps:
- Fork this project
- Commit periodically
- Have fun!
Please take this challenge seriously and try to make progress constantly, we will be providing feedback so if you are struggling with something, contact the mentors and peers to get help on time. Feel free to use the slack channel available.
Based on the self-study material is expected to have at the end of the modulo 2
- Runnable application
- Database model definitions
- Seeds to populate DB with custom pokemons
- Way to get the data from Api and push it to Database
- Tests of the current implementation
- Dashboard to see all pokemons
- Form to create/edit pokemons
- Database and model validations
- Authentication
- Tests
- Clean code
For submitting your work, you should follow these steps:
- Create a pull request. Make sure your PRs name follows this name convention "#{your-name}--#{number of deliverable}" ex: "ivanreyes--practice1".
- Make sure you are adding Apostat23, hivanreyes, Rikard189 as reviewers and post your link in the slack channel
- Stay tune for feedback