This is a simple full-stack Bookstore web application built with:
- 🖥️ Backend: Node.js + Express (REST API)
- 🌐 Frontend: React (via Vite)
- 🐳 DevOps: Docker + Docker Compose
bookstore-app/
├── backend/ # Node.js Express API
│ ├── app.js
│ ├── routes/
│ ├── books.json
│ ├── Dockerfile
├── frontend/ # React frontend (Vite)
│ ├── src/
│ ├── Dockerfile
├── docker-compose.yml # Runs frontend + backend together
└── README.md
- View list of books
- Add a new book
- Delete a book
- React-based frontend
- Express backend using JSON file as mock DB
- Fully containerized using Docker & Compose
git clone https://github.com/your-username/bookstore-app.git
cd bookstore-appdocker-compose up --build- Frontend: http://localhost:5173
- Backend API: http://localhost:3000/books
You can use Postman or curl:
curl http://localhost:3000/booksTo run in background:
docker-compose up -dTo stop services:
docker-compose down- Backend uses
books.jsonas simple data store - CORS is enabled to allow frontend-backend communication
- Vite is used for fast React development
- ADD a Workflow file to Deploy in VM
- Add a database (MongoDB or PostgreSQL)
- Add user login/authentication
- Add book edit functionality
- Add testing with Jest and Supertest
Built by Nilesh Kundu as part of a 30-day DevOps learning challenge.