https://github.com/suiramdev/storedge-core
🚀 The API for Storedge, a headless CMS project for e-commerce
https://github.com/suiramdev/storedge-core
Last synced: about 1 year ago
JSON representation
🚀 The API for Storedge, a headless CMS project for e-commerce
- Host: GitHub
- URL: https://github.com/suiramdev/storedge-core
- Owner: suiramdev
- Created: 2023-02-16T01:26:06.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-29T11:08:03.000Z (about 2 years ago)
- Last Synced: 2023-12-29T12:23:27.876Z (about 2 years ago)
- Language: TypeScript
- Homepage: https://storedge.suiram.dev/graphql
- Size: 336 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# storedge-core
The backbone of Storedge, an innovative headless Content Management System (CMS) designed specifically for e-commerce platforms. This repository is dedicated to the API that powers Storedge, constructed on the strong foundations of GraphQL with TypeGraphQL and Prisma. Our mission is to provide a modular, up-to-date, self-hosted, and open-source alternative inspired by the renowned Shopify.
## Features
- **GraphQL API**: Empower your e-commerce platform with efficient data queries and mutations using GraphQL.
- **TypeGraphQL & Prisma**: Streamline your development with strong typing and advanced ORM capabilities.
- **Modularity**: Our API's modular design allows for easy customization and extension.
- **Self-hosted & Open-source**: Keep full control of your data with self-hosting and enjoy the flexibility of open-source for customization.
## Table of Contents
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Configuration](#configuration)
- [Building the Application](#building-the-application)
- [Initializing the Database](#initializing-the-database)
- [Running the Server](#running-the-server)
- [Architecture Overview](#architecture-overview)
- [File Handling](#file-handling)
- [Contributing](#contributing)
- [License](#license)
## Getting Started
Clone the `storedge-core` repository to begin:
```bash
git clone https://github.com/suiramdev/storedge-core.git
cd storedge-core
```
### Prerequisites
Ensure you have the following installed:
- Node.js (version v16.20.X or above)
- A supported SQL database (e.g., PostgreSQL)
### Installation
Install the dependencies with `pnpm`:
```bash
pnpm install
```
### Configuration
Set up your environment variables:
```bash
cp .env.example .env
# Make sure to edit the .env file with your database details and other configurations
```
### Building the Application
Compile the TypeScript source to JavaScript:
```bash
pnpm build
```
### Initializing the Database
Before starting the server, initialize your database schema:
```bash
pnpx prisma db push
```
Seed your database with initial data:
```bash
pnpx prisma db seed
```
### Running the Server
Finally, launch the storedge-core server:
```bash
pnpm start
```
Your GraphQL API is now running and can be accessed at `http://localhost:4000/graphql`.
## Architecture Overview
Storedge's architecture is divided into core and apps layers:
- **Core**: Houses the database, services, and gateway, orchestrating the business logic and data persistence.
- **Apps**: This layer contains the storefront and dashboard interfaces. (e.g, )

### File Handling
- **File Downloading**: To securely download files, clients request a presigned URL from the gateway, granting access to the object storage.
- **File Uploading**: For uploads, clients use a presigned URL to send files directly to object storage, enhancing security and performance.

## Contributing
Contributions are welcome! Please refer to the CONTRIBUTING.md file for guidelines on submitting pull requests.
## License
Storedge-Core is licensed under the MIT License. See the LICENSE.md file for more details.