- Each visitor is allowed to create/update/delete boards.
- Each board (unique hashed ID, name) contain 3 columns - ToDo, In Progress, Done.
- Each visitor can enter a board ID and load relevant columns with cards (if exist) related to this board.
- Each visitor is able to add/update/delete cards (title and description).
- Visitors are able to drag and drop cards into other columns, or change order.
$ git clone https://github.com/dmytro-chushko/boards-manager.git
$ cd article-manager
$ cd clinet
$ npm i
$ cd ..
$ cd server
$ npm i
$ cd ..
- Make sure you have an actual version of Docker installed on your computer. Download and install if it is necessary.
- Configure
.env
files in both./client
and./server
directories like described below - Staying in root directory build the docker images from command line:
$ docker-compose build
- Run the project:
$ docker-compose up
- You may change settings in
docker-compose.yml
file
- Make sure you have a version of Node.js not lower than 18.18.1 installed on your computer. Download and install if it is necessary.
- Make sure you have PostgreSQL database. Download and install if it is necessary.
- Configure
.env
files in both./client
and./server
directories like described below - Being in the
./server
directory run the back-end application from the command line:
$ npm run start:dev
- Being in the
./client
directory run the front-end application from the command line:
$ npm run dev
Navigate to the address in your browser http://localhost:5173. This page will automatically reload after saving changes to project files.
Navigate to the address in your browser http://localhost:8090/api/docs to see the Swagger API documentation.
Create .env
file in the ./client
diretory and set this variable:
- VITE_BASE_URL = backend application host name
Create .development.env
file in the ./server
directory and set the next variables:
- PORT = application port
- DB_TYPE =
postgres
- POSTGRES_HOST = database host
- POSTGRES_PORT= database port
- POSTGRES_USER = database user
- POSTGRES_PASSWORD= database password
- POSTGRES_DB = databasee name
Or you can use these ones if are using docker-compose running approach:
PORT=8090
DB_TYPE=postgres
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=root
POSTGRES_DB=postgres
- Framework: NestJS
- Validation: Class Validator
- ORM: TypeORM
- DB: PostgreSQL
- API Protocol: REST(OpenAPISwagger)
- Framework: React SPA (Vite)
- Forms | Validation: Hook Forms, Yup
- State | Query: Redux RTK
- UI: Styled-Components
- Docker Compose