GithubHelp home page GithubHelp logo

carnarysupervisionrestoapi's Introduction

Open in Visual Studio Code

MAD Assignment Web API (for IT)

Registration Number: 219001044

Scenario

A culinary health supervision and rating agency needs a catalog of restaurants to help them know all available restaurants in Rwanda. restaurants should have a name, the name of the owner(owner can be individual or a company), rating(number of stars), address or location (to simplify this you can just use districts and sectors only), list of dishes offered by the restaurant. Each dish should have a name, cooking time, a list of ingredients, price of the dish and different pictures of the dish.

instructions

  1. Create a web api reflecting the above scenario using technologies(programming language....) of your choice.
  2. Your Api should provide a way to list restaurants in a specified location (district or sector), restaurants owned by a given individual or company, restuarants of a given rating etc...Think of all the possible scenarios users or other systems would consume your API and the type of information they would need to access.
  3. It should also have features like Authentication and Authorization in a way that only authorized users can add or modify some areas of the api.
  4. Use Postman to document your Web API.
  5. Deploy your web API to the platform of your choice (Heroku, Azure, etc...)
  6. Submission will be done via this repository but you should also include a link to your postman collection and a link to the hosted webApi along with some default credentials for testing.

Note: Don't be limited to the features specified in instructions, feel free to add any other feature you think is necessary.

This project is made up three apps, where each app has its own url details, here initial urls that links to the urls in apps form more details:

  1. https://restosupervisionapi.azurewebsites.net/,,, links to Locations app [for all about: Province, District, and Sector]
  2. https://restosupervisionapi.azurewebsites.net/catalog/,,, links to restaur app [for all about: Owners and Restaurants]
  3. https://restosupervisionapi.azurewebsites.net/kitchen/,,, links to dishes app [for all about: Cuisines, Dishes, Ingredients, and DishImages]

Super_User: username: Admin --> Password: 123

  1. POST,LIST,RETRIEVE,PUT... For All ModelViewSets Of System
  2. All Permissions on System Is Assigned on Him through custom permission [IsAdminOrReadOnly]

Staff_User: username: Kitchen-Manager --> Password: restoapi

Staff_User: username: Catalog-Manager --> Password: restoapi

  1. POST,LIST,RETRIEVE,PUT... For All ModelViewSets Of System excepts [Province, District & Sector], through custom permission [IsManagersOrReadOnly]
  2. These users are able to perform, [LIST, RETRIEVE] data on all ModelViewSet of System
  3. InAddition, they are some special permissions applied on [Owner] serializer, where only user is capable to access only the owner that has been created by him/her

carnarysupervisionrestoapi's People

Contributors

murhussain avatar abou-shadadi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.