GithubHelp home page GithubHelp logo

sanchez1337 / recipe-keepper Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 417 KB

Personal recipe manager

Home Page: https://recipe.sancholabs.com/api/docs

License: MIT License

Dockerfile 2.53% Python 83.58% Smarty 1.33% Shell 3.33% JavaScript 5.38% HTML 0.42% Vue 3.37% CSS 0.07%

recipe-keepper's Introduction

Personal recipes app

Following udemy course "Build a Backend REST API with Python Django - Advanced" Will be trying to firstly take the course and create an API, then try to create a frontend with Vue.Js and hopefully using TDD with Cypress. Eventually what I would like of this to become would be some kind of personal recipes repository, where eventually you could insert a link to some other recipe website - this app would be able to scrape it and present it in uniformed form without any clutter. Additional functionality which will try to implement as I go:

  • saving ingredients used by user - possibly with pictures and price
  • adding notes to the recipe

My programming knowledge is still very limited, so you are looking at the code at your own risk, but if you happen to see it and perhaps have any suggestions on how to improve it, please let me know - I will very much appreciate it!

#TODO: Installation - will contain final deployment steps, this one has to go to section called Development(?)

Installation

Copy .env.sample to .env and update the values with your secure passwords.

THen all you have to do is run:

docker compose build

It will grab python:3.11.9-alpine3.19 image from docker hub, install all python packages from requirements.txt* and additionally set up Postgres container.

After that it will use docker-compose.yml build an image from Dockerfile with DEV=true as an argument - for now adding flake8 to the development build.

Deployment

Usage

In main folder of the project run for start of the stack:

docker compose up -d

In order to see log stream enter:

docker compose logs -f

Go to localhost:8000/admin to open Django admin panel.
Go to localhost:8000/api/docs to open Swagger automatic API documentation.

Demo

Wanted to try out some deployment strategies so for the time being project is up and running on AWS EC2 Instance under domain https://recipe.sancholabs.com

Note

Please note, I also have no idea yet how to write a proper README file, so it's kind of messy, sorry about that

I am also not really experienced with proper way of working with Git so my commits might look kind of messy, will try to read up on that and improve as I go. Currently working on main branch - I am aware this isn't really realistic scenario but want to start using develop or feature branches when I will be sure I know what I am doing.
I've made that repo public in hope this will force me write code more often.

04-04-2024: Upgraded to django 4
04-04-2024: Upgraded to django 5

recipe-keepper's People

Contributors

sanchez1337 avatar

Stargazers

Kamil Stolarz 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.