Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noistnt/pokemon-api
Pokewiki App API
https://github.com/noistnt/pokemon-api
api api-rest back back-end backend backend-api database mongo-db mongodb mongodb-atlas nestjs node node-js nodejs nodemon pokemon pokemon-api zod zod-validators
Last synced: about 2 months ago
JSON representation
Pokewiki App API
- Host: GitHub
- URL: https://github.com/noistnt/pokemon-api
- Owner: NoistNT
- Created: 2023-09-01T13:15:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-03T13:10:27.000Z (3 months ago)
- Last Synced: 2024-10-11T05:43:24.158Z (2 months ago)
- Topics: api, api-rest, back, back-end, backend, backend-api, database, mongo-db, mongodb, mongodb-atlas, nestjs, node, node-js, nodejs, nodemon, pokemon, pokemon-api, zod, zod-validators
- Language: TypeScript
- Homepage: http://pokeapi-7tx2.onrender.com/pokemon
- Size: 371 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Pokewiki
An awesome RESTful API powering Pokewiki, a comprehensive Pokémon knowledge base!
View Demo
·
Report Bug
·
Request Feature
## About The Project
This **RESTful API** provides comprehensive access to Pokémon data, empowering developers to:
**1. Fetch Pokémon:**
- **List All:** Retrieve a comprehensive list of all available Pokémon.
- **By Name:** Search for a specific Pokémon by providing its name.
- **By ID:** Access data for a particular Pokémon using its unique identifier.**2. Manage Pokémon (CRUD Operations):**
- **Create:** Add a new Pokémon to the database, adhering to the specified data format.
- **Update:** Modify existing Pokémon data, providing the updated information.
- **Remove:** Delete a Pokémon from the database by its ID.**Technical Specifications:**
- **Framework:** NestJS
- **Programming Language:** TypeScript
- **Database:** MongoDB
- **ORM:** Mongoose
- **Data Validation:** Zod
- **Endpoints:**| Method | URL | Description |
| ------ | -------------- | -------------------------------- |
| GET | /pokemon | Retrieves a list of all Pokémon. |
| GET | /pokemon/:id | Fetches a Pokémon by ID. |
| GET | /pokemon/:name | Searches for a Pokémon by name. |
| POST | /pokemon | Creates a new Pokémon. |
| PUT | /pokemon/:id | Updates an existing Pokémon. |
| DELETE | /pokemon/:id | Deletes a Pokémon by ID. |**Data Validation:**
This API employs Zod for robust data validation. Developers must adhere to the specified data format when creating, updating, or deleting Pokémon.
## Built With
[![TypeScript](https://img.shields.io/badge/TypeScript-blue.svg?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![Node.js](https://img.shields.io/badge/Node.js-green.svg?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)
[![NestJS](https://img.shields.io/badge/Nest.js-red.svg?style=for-the-badge&logo=nestjs&logoColor=white)](https://nestjs.com/)
[![MongoDB](https://img.shields.io/badge/MongoDB-green.svg?style=for-the-badge&logo=mongodb&logoColor=white)](https://www.mongodb.com/)
[![Mongoose](https://img.shields.io/badge/Mongoose-red.svg?style=for-the-badge&logo=mongoose&logoColor=white)](https://mongoosejs.com/)
[![Zod](https://img.shields.io/badge/Zod-blue.svg?style=for-the-badge&logo=zod&logoColor=white)](https://zod.dev/)## Getting Started
Follow these steps to set up your local development environment:
### Prerequisites
- Node.js and npm (or pnpm, yarn) installed on your system.
### Installation
1. Clone the repository:
```bash
git clone https://github.com/NoistNT/Pokemon-API.git
```2. Install Dependencies
npm
```sh
npm install
```
pnpm
```sh
pnpm install
```
yarn
```sh
yarn install
```
3. Run server
```sh
npm start
```## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## Contact
[![LinkedIn][linkedin-shield]][linkedin-url] [![Gmail][gmail-shield]][gmail-url]
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://www.linkedin.com/in/ariel-piazzano
[product-screenshot]: https://github.com/NoistNT/Pokemon-Client/assets/104594670/4f6ffde7-7939-4abe-9690-df6ce88b84e5
[gmail-shield]: https://img.shields.io/badge/Gmail-D14836?style=for-the-badge&logo=gmail&logoColor=white
[gmail-url]: mailto:[email protected]