Skip to content

Heba-WebDev/Kryptonite

Repository files navigation

Kryptonite App API 📂🗃️

The Kryptonite App API allows users to upload and manage image files using API keys. Below are the key features.

Features

  1. File Upload Service

    • Users must have API keys to use the Kryptonite App.
    • Files can be uploaded using the API key without an authentication token.
    • API keys are generated by users.
    • Uploaded files are associated with the user who owns the API key.
    • Only image files are allowed for the moment.
  2. Accessing Images

    • Users can access all images or a single image without authentication.
  3. API Key invalidation

    • Users can invalidate an API key, making it unusable.
    • API keys are issued once and never shown again to the user.

Usage

  1. Obtain an API key by registering as a Kryptonian.
  2. Use the API key to upload image files.
  3. Access images via the appropriate endpoints.

Languages & Technologies

NestJs - TypeScript - Prisma (Postgresql) - Nodemailer - Swagger

Documentation of endpoints

Documentation

To have an overview of the current endpoints within the app, please browser to YOUR_BASE_URL/api.

Installation

  1. Clone this repository.
  2. Install dependencies using npm install.
  3. Set up your environment variables (e.g., database connection, Elasticemail credentials, etc.).
  4. Run the application using npm run start.

Installation with Docker

  1. Prerequisites

    • Ensure that you have Docker installed on your system. If not, follow the official Docker installation guide for your operating system:
      • Install Docker on Linux
      • Install Docker on macOS
      • Install Docker on Windows
  2. Building and Running the Docker Container

    • Open a terminal and navigate to the root directory of your project.
    • Start the container using Docker Compose:
      docker-compose up -d
    • Your Kryptonite App should now be have access to the postgres database running in the container.
  3. Stopping and Cleaning Up

    • To stop the containers, run:
      docker-compose down
    • To remove the containers and associated volumes, use:
      docker-compose down -v

Contributing

Contributions are welcome! Please follow our guidelines for contributing.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Files upload service | Built with Nestjs, Typescript and Prisma

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published