Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zckyachmd/plantarium
🌱 Plantarium is a RESTful API platform offering structured access to diverse plant data. Explore taxonomy, varieties, synonyms, categories, and more in one place!
https://github.com/zckyachmd/plantarium
bun honojs plant-data prisma-orm restful-api typescript
Last synced: 2 months ago
JSON representation
🌱 Plantarium is a RESTful API platform offering structured access to diverse plant data. Explore taxonomy, varieties, synonyms, categories, and more in one place!
- Host: GitHub
- URL: https://github.com/zckyachmd/plantarium
- Owner: zckyachmd
- License: mit
- Created: 2024-08-18T09:39:09.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-18T23:57:04.000Z (3 months ago)
- Last Synced: 2024-09-25T16:07:28.642Z (3 months ago)
- Topics: bun, honojs, plant-data, prisma-orm, restful-api, typescript
- Language: TypeScript
- Homepage: https://plantarium.zacky.id/
- Size: 232 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Plantarium
**Plantarium** is a RESTful API platform designed to provide comprehensive and structured access to a collection of plant data. This project aims to be a primary source of plant information with detailed features including taxonomy, varieties, synonyms, categories, and specific collections.
Entity-Relationship Diagram
![ERD](public/ERD.png)
## Features
- **Advanced Search**: Supports keyword search, category-based filtering, and advanced search functionalities for easy plant discovery.
- **Relational Data**: Manages relationships between plants, varieties, synonyms, and categories to offer complete and contextual information.
- **JSON API Design**: Adheres to JSON API standards to ensure consistency and interoperability in data communication.
- **Documentation**: Supported by Swagger for API documentation, ensuring transparency and ease of maintenance.## Goals
- **Organize Plant Data**: Collect and manage data on various types of plants in a structured manner.
- **Facilitate Information Access**: Provide easy and efficient access to plant information for developers, researchers, and general users.
- **Support Research and Development**: Offer a robust data foundation for research and development related to plants.## Technologies Used
- **Backend**: Hono with Bun and TypeScript
- **Database**: PostgreSQL with Prisma ORM
- **API Documentation**: Swagger## Installation
1. **Clone the Repository and Install Dependencies**
To get started with Plantarium, clone the repository and install the dependencies:```bash
git clone https://github.com/zckyachmd/plantarium.git
cd plantarium
bun install
```2. **Create .env File**
To set up your database connection string and other environment variables, create a `.env` file in the root directory of your project.```bash
cp .env.example .env
```Then Edit .env to set up your database connection string and other environment variables.
3. Run Migrations and Seed
Create and run migrations the following commands:```bash
bun run prisma migrate dev --name init
```Seed data using the following command (optional):
```bash
bun run prisma db seed
```### Usage
```bash
bun run dev
```Visit `http://localhost:3000` to view the API documentation.
## Contributing
If you'd like to contribute to this project, please follow the [contributing guide](CONTRIBUTING.md) for more information. Thank you!
## License
This project is open source and available under the [MIT License](LICENSE).
## Author
Copyright © 2024 [Zacky](https://zacky.id). Full-Stack Developer and Tech Enthusiast.