3.6 KiB
3.6 KiB
Thream/api
📜 About
Thream's Application Programming Interface (API) to stay close with your friends and communities.
It uses Thream/file-uploads-api v1.1.6.
⚙️ Getting Started
Prerequisites
- Node.js >= 16.0.0
- npm >= 8.0.0
- PostgreSQL
Installation
# Clone the repository
git clone git@github.com:Thream/api.git
# Go to the project root
cd api
# Install dependencies
npm clean-install
# Configure environment variables
cp .env.example .env
# Generate Prisma client types
npm run prisma:generate
Database Setup
# Create a new user and database
psql
CREATE DATABASE thream;
CREATE USER thream_user with encrypted password 'password';
ALTER USER thream_user WITH SUPERUSER;
Database Production migration
npm run prisma:migrate:deploy
Local Development environment
Recommended to use VSCode: Remote development in Containers.
Database Development migration
# Run Prisma migrations
npm run prisma:migrate:dev
# Reset the database (WARNING: This will delete all data)
npm run prisma:migrate:reset
Usage
npm run dev
Services started
Commands
# Build, Lint and Test
npm run build
npm run build:typescript
npm run lint:editorconfig
npm run lint:markdown
npm run lint:eslint
npm run lint:prettier
npm run test
Production environment (with Docker)
docker compose up --build
💡 Contributing
Anyone can help to improve the project, submit a Feature Request, a bug report or even correct a simple spelling mistake.
The steps to contribute can be found in CONTRIBUTING.md.