This is notion-like note application backend and Clean Architecture boilerplate with registration, authorization, collaborating, etc. You can create note, add tags to it and filter your notes, add and remove collaborators, customize your profile.
- User registration and authorization by
JWT
- User's profile update
- User password change
- Note creation with tags and collaborators
- Note edit
- Receiving notes with pagination, update date sorting, tags filtering
- Adding and removing collaborators
To launch application you need to install
Docker
andDocker Compose
on your system
- Clone git repository and go to the directory
git clone https://github.com/LCcodder/NodeNotes
cd NodeNotes
- Edit environment variables in
docker-compose.yaml
as you want - Run
docker compose up --build
DATABASE_HOST
DATABASE_NAME
DATABASE_USER
DATABASE_PASSWORD
REDIS_CONNECTION_STRING
(ex.redis://127.0.0.1:6379/0
)JWT_SECRET
JWT_EXPIRATION
(ex.24h
)PORT
- App covered with
Jest
unit tests - Coverage
85%
To run all testsheets enter:
npm test
- App covered with e2e tests
100%
coverage, over 280 tests
You can find testsheets in tests/e2e/api_v1.postman_collection.json
- Go to the
http://localhost:5050
- Log in with email:
admin@pgadmin.com
and password:password
- Run
docker ps -a
- Find and copy
postgres
container id - Run
docker inspect <copied container id>
- Find
IPAddress
with 172 prefix and copy it - Now add server in
pgAdmin
and paste copied IP inhost
input - Complete all other inputs