Git Product home page Git Product logo

vidare-api's Introduction

Welcome to vidare-api ๐Ÿ‘‹

Version Documentation Maintenance License: ISC

๐Ÿ  Homepage

How to run

  1. Initialize a mongodb instance: docker run --name mongo -e MONGO_INITDB_DATABASE=myapp -e MONGO_INITDB_ROOT_USERNAME=<USER> -e MONGO_INITDB_ROOT_PASSWORD=<PASSWORD> -d mongo

  2. Install ts-node: npm i -g ts-node

  3. Define .env based on .env.example

  4. Run the app ts-node src/index.ts

Endpoints

URL Body (POST) Success Response Auth*
GET /login NewUser LoginResponse Not required
GET /me - User Required
GET /products - Product[] Required
GET /products/:id - Product Required
GET /vouchers/ - Voucher[] Required
POST /vouchers/ NewVoucher Voucher Required
GET /bloodDonations/ - BloodDonation[] Required
POST /bloodDonations/ NewBloodDonation BloodDonation Required
POST /redeem/ { code: string } boolean Not required

Endpoints that requires authentication must receive an Authorization header in the following format: Authorization: Bearer <JWT TOKEN RECEIVED ON LOGIN RESPONSE>

Types

type NewUser {
    email: string
    familyName: string
    givenName: string
    googleId: string
    imageUrl: string
    name: string
}

type User {
    _id: string
    name: string
    imageUrl: string
    email: string
    bloodType: string?
    level: number
    createdAt: Date
    points: number
}

type LoginResponse {
    user: User
    token: string
}

type Company {
    name: string
}

type Product {
    _id: string
    name: string
    discount: number
    imageUrl: string
    company: Company
    price: number
    points: number
}

type Voucher {
    _id: string
    product: Product
    expiresAt: Date
    code: string
}

type NewVoucher {
    productId: string
}

type BloodDonation {
    _id: string
    imageUrl: string
    verified: bool
    createdAt: Date
}

type NewBloodDonation {
    image: string // base64
}

Run tests

npm run test

Author

๐Ÿค Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Show your support

Give a โญ๏ธ if this project helped you!

๐Ÿ“ License

This project is ISC licensed.


This README was generated with โค๏ธ by readme-md-generator

vidare-api's People

Contributors

dygufa avatar lamecksilva avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.