My 2022 Reading List

This is a simple CRUD task management project developed using MERN Stack. The app is configured in such a way that it can be developed & run only with docker engine without any additonal dependencies. Github repo link:

In this web app, you can do simple reading habit tracking actions such as:

  • See all reading/finished books list.
  • Record your current reading list.
  • Prevent you from reading a lot of books at the same time. Only allow 6 books of current reading.
  • Update your reading finished date.
  • Delete your records.

Tech Stack

Client: React, Redux, MaterialUI

Server: Node, Express

Database: MongoDb

Deployment: Docker, Docker-compose

Infrastructure

The Nginx handles the incoming http requests. If the requests start with /, the Nginx re-routes to the React Server. If the requests start with /api/, the Nginx re-routes to the API Server.

The React Server uses another self-contained Nginx to serve static web contents.

The Api Server uses MongoDB as a database.

The Rectangle Shape represents a Docker Container.

App Screenshot

Run Locally

Clone the project

  git clone https://github.com/saihormkham-nobody/booklist.git

Go to the project directory

  cd booklist

Start the server

  docker-compose -f "docker-compose.dev.yml" up -d --build

Deployment

To deploy this project run

  docker-compose -f "docker-compose.yml" up -d --build
© Copyright 2022, Sai Horm Kham