helene-nguyen / api-wallink-v1

API Wallink V1 - Bring all links together - NodeJS Express Typescript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

API Wallink

Authors : Yumi & Megafredo

Introduction

This API is made with love to bring all our favorite links together.

Technologies

🖥️ Code editor :

⚙️ Back end

  • NodeJS
  • Express
  • Typescript

🎞️ Database

  • PostgreSQL (DBSM)
  • PgAdmin4 (GUI)

🪂 Versioning

  • Git & GitHub
  • Sqitch for database

🎨 Front end

  • Not decided yet...

🧮 Agile Method

  • Brainstorming tldraw
  • Kanban GitHub project

📄 Documentation

  • Swagger UI with swagger express

Project

The idea of this application comes because who doesn't add a favourite link in a bookmark ? And how many bookmarks do you have ?

For us, so many. This simple app was first for us, and hope that it will be useful for you !

For the details of all of our project, you can switch on "documentation" branch name.

branch

How to launch the application ?

First, clone the repository

git clone <ssh link>

Then, install the packages needed for the application

npm install
# or npm i

Add .env file and configure your database :

#INFO CONNEXION DB FOR PSQL new Client()
PGHOST=#
PGDATABASE=#
PGUSER=#
PGPASSWORD=#
PGPORT=5432

And add all the environment variables needed for the application :

#SESSION
SESSION_SECRET=#

#JWT
#Generate random token :
#launch node and copy
#require("crypto").randomBytes(64).toString("hex")
ACCESS_TOKEN_SECRET=#
REFRESH_TOKEN_SECRET=#

# DEBUG
DEBUG=EntryPoint,Pool,ErrorHandling,Controller,Jwt,Schema

#MAILER
USER_MAILER=
PASSWORD_MAILER=

And then, you can run the application with the following command

npm run dev

And if you want to see the documentation, launch the app and add at the end of url /api-docs

http://localhost:<PORT>/api-docs

Sources

Project conception :

  • tl;draw => drawings for brainstorming

About

API Wallink V1 - Bring all links together - NodeJS Express Typescript