Skip to content

Commit

Permalink
update todo api project
Browse files Browse the repository at this point in the history
  • Loading branch information
ziaukhan committed Jan 8, 2024
1 parent 41cb55a commit a8f25a1
Showing 1 changed file with 16 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,23 @@
# Complete Todo REST API Project
# Complete Todo REST API and App Project

Develop a todo REST API project using combination of FastAPI, Postgres SQL Database, and SQLAlchemy in Python using layered architecture. Add API endpoints for todo CRUD operations (POST, PUT, DELETE).Also develop Streamlit client and a Python console client and a Typescript Node.js console client. Please include all the code in this response. Also add unit tests using pytest.
Develop a todo REST API project using combination of FastAPI, Postgres SQL Database, and SQLAlchemy in Python using layered architecture. Add API endpoints for todo CRUD operations (POST, PUT, DELETE. Also develop Streamlit client and a Python console client and a Typescript Node.js console client. Also add unit tests using pytest.

The API should multi-tenant meaning multiple users can use this APIs, therefore every user todo will be saved with a user ID, and [JWT authentication](https://www.freecodecamp.org/news/how-to-add-jwt-authentication-in-fastapi/) also need to be implemented.

Also develop a Next.js version of the Project where FastAPI which will also be deployed on Vercel. You may use [Next.js FastAPI Starter](https://vercel.com/templates/next.js/nextjs-fastapi-starter).

You may use [Neon Postgres compatiable database](https://neon.tech/) as your Database. You can also use [any other Postgres Cloud Database](https://www.yugabyte.com/postgresql/compare-postgresql-compatibility/).

Share your deployed Streamlit and Next.js projects with everyone.

# The Project

We will guide you through creating a simplified version of this project and provide code snippets for each component.

Modify and enhance the code for handling error cases, authentication, input validation, and other security considerations.

Note this code is only to get you started only, and is neither multi-tanent nor implements layered architecture. It also doesnot implement JWT authentication. You will have to add all these things and more.

Firstly, ensure you have the necessary packages installed:
- FastAPI
- SQLAlchemy
Expand Down Expand Up @@ -211,4 +223,5 @@ To run the entire setup, you'll need to:
- Run the Python console client using `python python_console_client.py`.
- Run the TypeScript Node.js console client after transpiling using a TypeScript compiler.

Modify and enhance the code based on your specific requirements and for a production-level application, handling error cases, authentication, input validation, and other security considerations are essential.
Note: Review the Open API Specifications generated by FastAPI.

0 comments on commit a8f25a1

Please sign in to comment.