Untitled
unknown
plain_text
a year ago
2.5 kB
77
Indexable
You are almost done! Build an RoR API app that should cover: User Registration Authentification Email confirmation Recover account Article Create View one article + comments View Articles Edit Delete(soft) Comments Create View Categories View all Models: User: avatar(image) first_name last_name email password Article title description cover (image) Tags category author Tag name Category name Comment value user The models from the above can have some errors in naming, or can miss some info - you need to pay attention. What needs to be done: API documentation (Readme + Swagger) no postman Dockerized app (the app should run in docker/docker-compose) The DB should be PostgreSQL The confirmation email should be sent 5 seconds after the user is registered (we should see it in the sidekiq UI) 90% test coverage Create seeds for the DB with 10k users and 20k articles, 3 categories avatar and cover should be uploaded to the S3 bucket (for prod), for dev/test mode can be saved on your local machine. Articles can be published or hidden Tags should be created when an article is created/all downcased characters/unique Emails should have a template HTML version Users can edit/delete only their articles Search articles by [author, category, tags, title(we can write a few words from the title and should match), created_at date] + pagination (default=10 items per page but we can change it in the request) comments also should have pagination (default 25 records per page) site admin can ban authors from the app and they will not be able to authenticate site admin can remove the author ban We should be able to rollback the article[all fields] to the last 5 versions ex: v1(created): title: Lorem ispum dollor v2(edited): title: Lorem ipsum dollor v3(current version): title: Lorem ipsum dol from this example, we should be able to roll back the article to v1 or v2. Implement Comments rating and sort comments by rating in the article Let's keep in mind that this API will get big and/or your code will need to be isolated/improved. → that means your business code should not be in the controller but outside of it. use patterns from to format the code Use Rubocop to format the code please create a subtask with your initials create a new repo try to have each commit clean and informative and to contain your task id as a prefix. To not have too much code in one commit. you have one week to finish this. Good Luck!
Editor is loading...