Thream/api

Licence MIT Contributor Covenant

Conventional Commits semantic-release

## 📜 About Thream's Application Programming Interface (API) to stay close with your friends and communities. ## ⚙️ Getting Started ### Prerequisites - [Node.js](https://nodejs.org/) >= 16.0.0 - [npm](https://www.npmjs.com/) >= 8.0.0 - [PostgreSQL](https://www.postgresql.org/) ### Installation ```sh # Clone the repository git clone https://github.com/Thream/api.git # Go to the project root cd api # Configure environment variables cp .env.example .env # Install npm install ``` You will need to configure the environment variables by creating an `.env` file at the root of the project (see `.env.example`). ### Local Development environment #### Setup the database ```sh # Create a new user and database psql create database thream_database; create user thream_user with encrypted password 'password'; ALTER USER thream_user WITH SUPERUSER; ``` Replace `DATABASE_URL` inside `.env` with `postgresql://thream_user:password@localhost:5432/thream_database` ```sh # Run Prisma migrations npm run prisma:migrate:dev ``` #### Usage ```sh # Run API npm run dev # Run Prisma Studio npm run prisma:studio ``` ### Production environment with [Docker](https://www.docker.com/) ```sh # Setup and run all the services for you docker-compose up --build ``` #### Services started - API : `http://localhost:8080` - [PostgreSQL database](https://www.postgresql.org/) ## 💡 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](./CONTRIBUTING.md). ## 📄 License [MIT](./LICENSE)