/todo-app-v1

Full stack todo app with micro services and docker

Primary LanguagePython

Preview

image

Installation

Prerequisites

Make sure you have the following installed:

  • Docker
  • Docker Compose

Clone the Repository

git clone https://github.com/kbtanvir/todo-app-v1.git
cd todo-app-v1

Directory Structure

Ensure your directory structure looks like this:

todo-app/
├── client/
│   ├── Dockerfile
│   ├── src
         └── App.tsx
│   ├── features/todo
         └── model.ts
         └── provider.ts
         └── repo.ts
├── server/
│   ├── Dockerfile
│   ├── api
         └── index.py
└── compose.yml

Building and Running the Application

  1. Build and Run Docker Compose:

    From the root directory (todo-app/), run the following command to build and start the services defined in docker-compose.yml:

    docker-compose up --build

    This command will build the Docker images for the client and server apps defined in their respective Dockerfiles and start containers for both services.

  2. Accessing the Applications in local machine:

  3. Swagger Documentation:

  4. Live urls:

Stopping the Application

To stop the Docker containers running the applications, press Ctrl + C in the terminal where docker-compose up is running. This will stop the containers gracefully.

Tech Stack

Backend:

  • Python
  • Flask
  • SQLAlchemy
  • Postgress - Live
  • Sqlite - Local
  • NGINX

Frontend:

  • TypeScript
  • React with Vite
  • Tailwind CSS
  • Polystate - State manager
  • Zod - Validation
  • Docker
  • Docker Compose