Find Jobs
Hire Freelancers

Vending machine exercice.

€8-30 EUR

Κλειστή
Αναρτήθηκε περίπου 2 χρόνια πριν

€8-30 EUR

Πληρωμή κατά την παράδοση
Exercise brief Design an API for a vending machine, allowing users with a "seller“ role to add, update or remove products, while users with a "buyer" role can deposit coins into the machine and make purchases. Your vending machine should only accept 5, 10, 20. 50 and 100 cent coins. Tasks • REST API should be implemented consuming and producing "application/json" • Implement product model with amountAvailable. cost, productName and sellerld fields • Implement user model with username, password, deposit and role fields • Implement an authentication method (basic, oAuth, JWT or something else, the choice is yours) • All of the endpoints should be authenticated unless stated otherwise • Implement CRUD for users (POST /user should not require authentication to allow new user registration) • Implement CRUD for a product model (GET can be called by anyone, while POST, PUT and DELETE can be called only by the seller user who created the product) • Implement /deposit endpoint so users with a "buyer" role can deposit only 5, 10, 20, 50 and 100 cent coins into their vending machine account • Implement /buy endpoint (accepts productld. amount of products) so users with a 'buyer- role can buy products with the money they've deposited. API should return total they've spent. products they've purchased and their change if there's any (in an array of 5, 10, 20, 50 and 100 cent coins) • Implement /reset endpoint so users with a "buyer" role can reset their deposit back to 0 • Take time to think about possible edge cases and access issues that should be solved • If somebody is already logged in with the same credentials, the user should be given a message 'There is already an active session using your account". In this case the user should be able to terminate all the active sessions on their account via an endpoint i.e. /logout/all • Attention to security Evaluation criteria: • Language/Framework of choice best practices • Edge cases covered • Write tests for /deposit. /buy and one CRUD endpoint of your choice • Code readability and optimization ***** I prefer it to be done with React js
Ταυτότητα εργασίας: 33340513

Σχετικά με την εργασία

4 προτάσεις
Απομακρυσμένη Εργασία
Ενεργός/ή 2 χρόνια πριν

Ψάχνεις τρόπο για να κερδίσεις μερικά χρήματα;

Πλεονεκτήματα πλειοδοσίας στο Freelancer

Καθόρισε τον προϋπολογισμό σου και το χρονοδιάγραμμα
Πληρώσου για τη δουλειά σου
Περίγραψε την πρόταση σου
Η εγγραφή και η πλειοδοσία σε εργασίες είναι δωρεάν
4 freelancers δίνουν μια μέση προσφορά €22 EUR για αυτή τη δουλειά
Avatar Χρήστη
Hello Client. I've carefully read your job details. I'm attracted to your suggestion and have sufficient confident, so I have interested in your project and also you. I am an senior web developer with 7 years of history. All kinds of modern javascript frameworks such as React, AngularJS, Vue.js, WordPress ,especially React. Powerful backend frameworks skills( Node.js, Laravel). I look forward to get your reply for detail discuss. For your project and our first transaction, and also our relationship. Thanks. Sincerely.
€20 EUR σε 2 ημέρες
4,8 (11 αξιολογήσεις)
4,0
4,0

Σχετικά με τον πελάτη

Σημαία της TUNISIA
Sfax, Tunisia
5,0
1
Επαληθευμένη μέθοδος πληρωμής
Μέλος από Οκτ 20, 2018

Επαλήθευση Πελάτη

Ευχαριστούμε! Σου έχουμε στείλει ένα email με ένα σύνδεσμο για να διεκδικήσεις τη δωρεάν πίστωση σου.
Κάτι πήγε στραβά κατά την προσπάθεια αποστολής του email σου. Παρακαλούμε δοκίμασε ξανά.
Εγγεγραμμένοι Χρήστες Συνολικές Αναρτημένες Δουλειές
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Φόρτωση προεπισκόπησης
Δόθηκε πρόσβαση για Geolocation.
Η σύνδεση σου έχει λήξει και τώρα έχεις αποσυνδεθεί. Παρακαλούμε συνδέσου ξανά.