Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/vitorcarvalho67/tslibraryapi
- Owner: VitorCarvalho67
- License: apache-2.0
- Created: 2023-12-16T20:36:43.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-01T00:45:42.000Z (10 months ago)
- Last Synced: 2024-05-11T05:45:46.151Z (8 months ago)
- Topics: api-rest, docker-compose, library-api, mysql-database, nginx, nodejs, prisma, server-side, solid-principles, typescript, unit-testing, vitest
- Language: TypeScript
- Homepage:
- Size: 498 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
- MySQLClone 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.