/recipe-api

A recipe sharing API built using Django rest framework.

Primary LanguagePythonMIT LicenseMIT

Recipe Sharing API

This API allows users to share recipes and find recipes. It is developed using Django rest framework. You can find the api here.

Basic Features

  • Custom User model and authentication using email and password.
  • JWT authentication.
  • CRUD endpoints for recipe.
  • Search functionality for recipes.
  • Password reset functionality.
  • Documentation using drf_spectacular which support OAS3.
  • Unit test using coverage and factory boy.
  • Frontend is built using React.js and can be found here.

Quick Start

To get this project up and running locally on your computer follow the following steps.

  1. Clone this repository to your local machine.
  2. Create a python virtual environment and activate it.
  3. Open up your terminal and run the following command to install the packages used in this project.
$ pip install -r requirements.txt
  1. Set up a Postgres database for the project.
  2. Rename the .env.example file found in the root directory of the project to .env and update the environment variables accordingly. Note: For local development, leave the Cloudinary configs empty.
  3. Run the following commands to setup the database tables and create a super user.
$ python manage.py migrate
$ python manage.py createsuperuser
  1. Run the development server using:
$ python manage.py runserver
  1. Open a browser and go to http://localhost:8000/.

License

Usage is provided under the MIT License. See LICENSE for the full details.