This is the backend component of the Notio Kanban app, responsible for handling the API requests and database operations.
- Create, read, update & delete Kanban boards, columns, & cards.
- Authenticate users using JWT tokens & enforce access control to ensure users can only access their own data.
- Interact with a PostgreSQL database to store & retrieve data.
- Node.js
- Express
- Docker
- PostgreSQL
- Knex.js
- Joi
- Clone the repository -
git clone https://github.com/dannyboi07/notio_api.git - Install the dependencies
cd notio_apinpm install
- Create a
.envfile in the root directory and add the following environment variables:
- PORT
- BASE_URI
- DB_HOST
- DB_NAME
- DB_PORT
- DB_USER
- DB_PW
- PW_SALT_RND
- ACCESS_TOKEN_SECRET
- REFRESH_TOKEN_SECRET
- Database setup
- You can either use Docker to run a PostgreSQL container or install PostgreSQL locally.
If you choose to use Docker, simply run
docker-compose up -din the root directory to start the container. Everything else should be set up automatically. - Run the sql scripts in the
dbfolder to create the database and tables.
- Run the app
- Production:
npm start - Development:
npm run dev
- The app should now be running on
http://localhost:{PORT}