Untitled
unknown
plain_text
16 days ago
1.5 kB
3
Indexable
Never
## Fitle chat app challenge ``` Run via docker-compose: ```bash docker-compose up ``` Run tests: ```bash pytest backend/tests ``` Components: - [x] Frontend - [x] Backend - [x] Database ## Backend ### Technologies - FastAPI - SQLAlchemy - Pydantic - Uvicorn - Docker - PostgreSQL - Alembic - Pytest ## Frontend ### Technologies - React - Axios - TailwindCSS - Shadcn - Radix - React Hooks - React Router ## Features - Implemented both frontend and backend and sperated them into two different folders. Wired them together using docker-compose. - Implemented a RESTful API for the chat app using FastAPI, SQLAlchemy, and PostgreSQL. - Implemented a basic chat interface using React, TailwindCSS, and Shadcn. - Added a basic chat interface to the frontend. - Added basic authentication to the chat app. - Chat persists in the database. (chat persistence) - Each user message is sent to the backend with the entire chat history in a series of alternate "user" and "agent" messages. (400 Bad Request if not the case) - Agent's replies can be static content. - Text can appear in a chat display. - Implement integration tests for the backend using pytest. ## Improvements - Add unit tests for the codebase. - Utilize Pydantic validation more in the backend. - Cover more test cases / edge cases in the backend. - Add linting and formatting to the codeback and also a precommit hook. - Utilize a state management library on FE like Redux for better state management. - Enhance on the DB schema design. - More generic error handling on the FE.
Leave a Comment