Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vitorcarvalho67/tslibraryapi

A sleek and efficient Node.js REST API using Prisma and TypeScript for managing library operations, from book rentals to author tracking
https://github.com/vitorcarvalho67/tslibraryapi

api-rest docker-compose library-api mysql-database nginx nodejs prisma server-side solid-principles typescript unit-testing vitest

Last synced: about 1 month ago
JSON representation

A sleek and efficient Node.js REST API using Prisma and TypeScript for managing library operations, from book rentals to author tracking

Awesome Lists containing this project

README

        



# TSLibraryAPI (Node.js API)

[![GitHub license](https://img.shields.io/github/license/vitorcarvalho67/TSLibraryAPI)](vitorcarvalho67/TSLibraryAPI/blob/master/LICENSE) ![GitHub stars](https://img.shields.io/github/stars/vitorcarvalho67/TSLibraryAPI) ![GitHub stars](https://img.shields.io/github/languages/top/vitorcarvalho67/TSLibraryAPI) [![CI](https://github.com/vitorcarvalho67/TSLibraryAPI/workflows/CI/badge.svg)](https://github.com/vitorcarvalho67/TSLibraryAPI/actions) ![GitHub stars](https://img.shields.io/github/repo-size/vitorcarvalho67/TSLibraryAPI)

TSLibraryAPI is a robust and versatile REST API built with Node.js, utilizing Prisma as its ORM and TypeScript for enhanced reliability and developer experience. Designed specifically for library management systems, it offers comprehensive functionalities ranging from handling book rentals, managing book and author records, to tracking user interactions. Its efficient and intuitive design ensures seamless integration and scalability, making it ideal for both small-scale library applications and larger, more complex systems. With TSLibraryAPI, managing a library's digital operations becomes a streamlined and efficient process, providing a solid foundation for developers looking to build or enhance library management software.

## How To Use
Prerequisites
- Node.js
- TypeScript
- Docker-Compose
- Nginx
- Prisma
- Vitest
- MySQL

Clone this repository
```bash
git clone https://github.com/VitorCarvalho67/TSLibraryAPI.git
```

Navigate to the project directory
```bash
cd TSLibraryAPI
```

up migration
```bash
npx prisma migrate dev --name init
```

>[!IMPORTANT]
> remember to uncomment .env.example and remove .example from the file name.

Run server side
```bash
yarn dev
```

## Runnig with Docker

```bash
docker-compose up -d
```

## Contributing
Contributions to this project are welcome. Please follow these steps to contribute:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Commit your changes.
4. Push to the branch.
5. Submit a pull request.