This is the FARM Stack course, where you are going to learn how to build an application from scratch using FASTAPI, React and mongoDB

Overview

FARM-Stack-Course

This is the FARM Stack course, where you are going to learn how to build an application from scratch using FASTAPI, React and mongoDB


FARM stands for FastAPI - React - MongoDB.

WE are going to build our app using FASTAPI for the backend server, React for the frontend client,

and MongoDB for the backend database server, so this is for data persistance.

And in my opinion, FARM stack resembles the MEAN stack or the MERN stack,

the only difference is the FASAPI because React and MongoDB are the same in the three stacks,

in MEAN we use Angular and NodeJs, and in MERN we use React and NodeJs.

FASTAPI is a modern and fast web framework for building APIs, created by Sebastien Ramirez,

it uses ASGI which is the interface between your app and the server and the response time is lightening fast

and this is one of the big advantages of having ASGI server implementaion on your side.

Also, one if its big features that it supports coroutines and concurency without the need to import the ASYNCIO module in Python,

and in a way it's faster than Express which is NodeJs framework ( and Express is E in the MEAN and MERN stacks ).

FASTAPI also has interactive API documentation, so it helps you testing the different HTTP requests like get post,

put and delete visually using Open API which is itself based on JSON schema.

Please follow along in the video to get more details about the course.

Thank you. BR, Bek

You might also like...

Lecture by lecture commits of the https://www.udemy.com/build-blockchain-full-stack/ course

Commit-by-commit breakdown of "Build a Blockchain & Cryptocurrency | Full-Stack Edition" This is a commit-by-commit breakdown of "Build a Blockchain &

Dec 12, 2022

Boilerplate project to run MOBILE Test Automation with WebdriverIO v7, Mocha, Appium, Allure reporting and Momentum Suite cloud device farm support

Boilerplate project to run MOBILE Test Automation with WebdriverIO v7, Mocha, Appium, Allure reporting and Momentum Suite cloud device farm support

WebdriverIO Mocha Appium Momentumsuite WebdriverIO Integration with local or Momentum Suite real mobile farm devices Supports Native or Hybrid Android

Dec 5, 2022

We are students of group named "Special-Team" of GоIT academy. We graduated JavaScript course and for consolidate in practice 📌 knowledges received on this course, we together 🤝 developed graduation project

Проект сайту "Filmoteka" Привіт! 🤗 Ми студенти групи під назвою "Special-Team" академії GоIT 🔥 🚀 Ми закінчили курс JavaScript і для того, щоб закрі

Jan 3, 2023

Course material for a ~10 hours introductionary course for Julia. Topics: Introduction, Parallel Programming, Data Science

Development We use Franklin.jl to generate the lecture material. To do so, simply activate the environment, use Franklin and run the local server: act

Dec 15, 2022

Start building admin tools on Slack without going into complex slack syntax and flows.

Start building admin tools on Slack without going into complex slack syntax and flows.

Slackmin Slackmin helps in easy integration with slack to use slash commands, interactive components, format and send messages, design and use modals.

Jan 2, 2023

A full CRUD application built using the MELN(MongoDB,Express,LiquidJS,Node) stack.

A full CRUD application built using the MELN(MongoDB,Express,LiquidJS,Node) stack.

Pokedex Your mission is to be the very best, like no one ever was, at making a Pokémon manager (a Pokédex). Learning Objectives Full CRUD App Prerequi

Sep 23, 2022

A project for experimenting with Server Sent Events (SSE), a way of communication going from server to client.

A project for experimenting with Server Sent Events (SSE), a way of communication going from server to client.

May 16, 2022

🌸 A fast and fun way to learn Japanese alphabets: hiragana & katakana. Don't wait - learn now!

🌸 A fast and fun way to learn Japanese alphabets: hiragana & katakana. Don't wait - learn now!

Sakurator | Start learning 日本語 here Sakurator (Website publish date: ~4-6 April '22) - a personal trainer for learning Japanese alphabets (hiragana &

Jun 22, 2022

This Next.js app is designed to be used with the Figment Learn Pathways, to help developers learn about various blockchain protocols such as Solana, NEAR, Secret, Polygon and Polkadot!

This Next.js app is designed to be used with the Figment Learn Pathways, to help developers learn about various blockchain protocols such as Solana, NEAR, Secret, Polygon and Polkadot!

👋🏼 What is learn-web3-dapp? We made this decentralized application (dApp) to help developers learn about Web 3 protocols. It's a Next.js app that us

Oct 1, 2022
Comments
  • CRUD Operations Fail

    CRUD Operations Fail

    Hello, thank you for sharing this! I found this repo through your YouTube tutorial, which was very helpful to get started.

    Currently, when trying any of the database related operations from the FastAPI docs, I always fail with a response code of 500 with an Internal Server Error. Here's the full stack trace:

    RuntimeError: Task <Task pending coro=<RequestResponseCycle.run_asgi() running at /Users/rahulsomani/miniconda3/lib/python3.7/site-packages/uvicorn/protocols/http/httptools_impl.py:376> cb=[set.discard()]> got Future <Future pending cb=[_chain_future.<locals>._call_check_cancel() at /Users/rahulsomani/miniconda3/lib/python3.7/asyncio/futures.py:351]> attached to a different loop
    

    I was able to resolve the issue following the advice in this StackOverflow post.

    I changed database.py as follows:

    from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorDatabase
    
    DB_URL = "mongodb://127.0.0.1:27017/"
    
    db: AsyncIOMotorDatabase = None
    
    
    async def get_db_client() -> AsyncIOMotorClient:
        client = AsyncIOMotorClient(DB_URL)
        return client
    
    
    async def get_db(name="TodoList") -> AsyncIOMotorDatabase:
        db = await get_db_client()
        return db[name]
    

    Then load the db on startup in main.py:

    ...
    
    app = FastAPI()
    app.add_event_handler("startup", get_db)
    

    And had to add a line to all the functions inside database.py like so:

    async def remove_todo(id: int):
        db = await get_db()
        await db["todo"].delete_one({"id": id})
        return True
    
    async def create_todo(todo):
        doc = todo
        db = await get_db()
        res = await db["todo"].insert_one(doc)
        return doc
    
    
    ...  # and so on
    

    Is this the correct way to do things? I'm new to writing code with async and await, and was wondering if calling db = await get_db() inside all the functions that fetch / modify from the databse is inefficient?

    Thanks!

    opened by rsomani95 1
Owner
Bek Brace
Retro gamer and Coffee breaker! | I teach programming on YouTube. Mainly Python | Share my tech opinions on https://dev.to/bekbrace | NYC is the best !
Bek Brace
This is a full-stack exercise tracker web application built using the MERN (MongoDB, ExpressJS, ReactJS, NodeJS) stack. You can easily track your exercises with this Full-Stack Web Application.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

WMouton 2 Dec 25, 2021
A FARM stack app automated with docker-compose

Expense-Tracker An expense tracker built with FARM stack (FastAPI,React,MongoDB) Requirements Docker Docker-Compose Install and Run To install and run

Deepraj 4 Oct 10, 2022
Full-stack-todo-rust-course - we are building this out now in prep for the real course

full-stack-todo-rust-course wip - we are building this out now in prep for the real course Plan Come up with the requirements Create user stories Desi

Brooks Builds 89 Jan 2, 2023
AMP: is a fast admin dashboard template based on FastAPI

AMP: is a fast admin dashboard template based on FastAPI Introduction AMP: is a fast admin dashboard template based on FastAPI. The project uses its o

Denis Bazarnov 17 Jan 1, 2023
This will create a REST API using Express JS and MongoDB removing the hassle of creating everything from scratch.

rest-api-init Fastest way to create REST API with Node.js, Express.js & MongoDB. Prerequisites Node.js needs to be installed. MongoDB Compass needs to

Souvik Das 7 Dec 3, 2022
Online Inventory Control System for an apparel manufacturing company "CASANOVA" (Pvt) Ltd. Technology stack: Node.js, Express.js, MongoDB Atlas, React.js (MERN Stack).

Project Name - Online Inventory Control System for an apparel manufacturing company "CASANOVA". The project was given a "A" grade. Group Leader - IT20

Pasindu Rukshan 1 Dec 26, 2021
The frontend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

The frontend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

Bernardo Rodrigues 5 Jun 2, 2022
The backend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

My first full stack application with the concept of a personal wallet that allows you to create a personal account to keep track of your entire statement by adding incoming and outgoing transactions, as well as calculating the total balance and being able to edit and delete old transactions.

Bernardo Rodrigues 6 Jun 23, 2022
Dank Memer (Selfbot) Farm with slash commands support and random delays and breaks to avoid any suspicion

Slashy Slashy is a Dank Memer (Selfbot) Farm with slash commands support and random delays and breaks to avoid any suspicion. This is completely undet

Taha Gorme 16 Dec 30, 2022
I built a full-stack project using Node, Express, Mongo, webRTC, socket.io, and of course React JS. This project is inspired by the awesome Clubhouse 😊

codershouse-mern - This Project is Under Development. Below are some of the implemented interface and the remaining features will be updated in future

Bishal Das 35 Nov 18, 2022