Skip to content
No description, website, or topics provided.
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.env.example
.gitignore
README.md
package-lock.json
package.json
tsconfig.json
yarn.lock

README.md

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

You can’t perform that action at this time.