- 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
.envfiles in both./clientand./serverdirectories 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.ymlfile
- 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
.envfiles in both./clientand./serverdirectories like described below - Being in the
./serverdirectory run the back-end application from the command line:
$ npm run start:dev- Being in the
./clientdirectory run the front-end application from the command line:
$ npm run devNavigate 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