Make sure you have the following installed:
- Docker
- Docker Compose
git clone https://github.com/kbtanvir/todo-app-v1.git
cd todo-app-v1
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
-
Build and Run Docker Compose:
From the root directory (
todo-app/
), run the following command to build and start the services defined indocker-compose.yml
:docker-compose up --build
This command will build the Docker images for the client and server apps defined in their respective
Dockerfile
s and start containers for both services. -
Accessing the Applications in local machine:
-
Client App: Access the React client app in your browser at http://localhost:3000.
-
Server App: The Flask server app with SQLAlchemy will be accessible at http://localhost:5000.
-
-
Swagger Documentation:
- Swagger UI: After starting the server, you can access the Swagger UI to view the API documentation at http://localhost:5000/apidocs.
-
Live urls:
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.
Backend:
- Python
- Flask
- SQLAlchemy
- Postgress - Live
- Sqlite - Local
- NGINX
Frontend: