For it's first launch run the following command :
bundle install
yarn install
Create the db
rails db:create
Then run the migrations
rails db:migrate
Now run the seeds
rails db:seed
You can log with this profil:
- email: [email protected]
- password: 123456
- A user can log in with a valid username and password through a login screen
- A user can see a list of clients
- A user can see a client
- A user can edit a client to fill his informations
- A user can set a monthly objective for his revenue
- A user can see his total revenue on a given period
- A client has all the data you can find in the json as attributes, store the more relevant
- A client has a revenue that is the money the caller make
- A client needs to have a status to be qualified
- Devise
- Rspec
- ShouldaMatcher
- Factorybot
- Faker
- Add gem Pundit (!!!!)
- Add a cron task, with gem whenever to change the goal's attribute active to false, when the month is over.
- Improve my search bars
- Add I18n fro translation
- Implement more features:
- as a user i can create an invoice, directly from my objective
- as a user i can edit my objective
- as a user i can create ojective for a year or less than a month
- as user i can click on the phone number and call directly my client
- as a client i recieve an email with informations following my call with a study caller
- Implement all the tests with rspec.
- Add comments to my code
Thanks 🙏,
Technical test for junior applications
- Fork this repository.
- You can add any framework, library or plugin you'd like.
- Make sure the application works out-of-the box once you're done.
- Push changes to your git fork.
- Add a short description on how to run your program for anyone who would like to test it.
- Check the finished features in the Assignment and Bonus section by putting an 'X' ([X]) in between the brackets.
- Quality over quantity, better half of the features 100% done, than 100% of the features half-done.
- You are asked to build a call center application
- As a user I want to see a list of all my clients. I should be able to click on them in order to acess to their show page, where I can find their phone number to call them and to edit them if I call them. The edit page is a form where I can fill all the blank attributes. After the editing is done, the client must have a status "done". Then I can work on my other clients.
- You need to add in the database the clients given in the file clients_sc.json and use it for your user journey
-
A user can log in with a valid username and password through a login screen
-
A user can see a list of clients
-
A user can see a client
-
A user can edit a client to fill his informations
-
A user can set a monthly objective for his revenue
-
A user can see his total revenue on a given period
-
A client has all the data you can find in the json as attributes, store the more relevant
-
A client has a revenue that is the money the caller make
-
A client needs to have a status to be qualified
-
Some nice to haves, when there is time to spare.
-
A user can set a revenue obective for the month
-
A user can see the money he made during the month
-
A user can generate a monthly invoice
-
Add or improve a feature of your own choice