Skip to content

AgencyCRM is a management system for a company that allows you to create orders and monitor their implementation.

License

Notifications You must be signed in to change notification settings

Kotmail/agency-crm-backend

Repository files navigation

AgencyCRM [Backend]

AgencyCRM is a management system for a company that allows you to create orders and monitor their implementation.

This is a server-side REST API application for AgencyCRM.

Demo

Here you can see a demo version of the project.

Authorization is available under one of 3 user roles:

Role Email / Password
admin admin@example.com / adminDemoPassword
manager manager@example.com / managerDemoPassword
executor executor@example.com / executorDemoPassword

Tools used

  • NestJS as a server framework.
  • TypeORM - ORM for working with the database.
  • PostgreSQL as a database.
  • Faker - generation fake data to fill the database.
  • Passport.js for authentication.
  • Swagger for API specification.
  • Docker - for local development and deployment.

Installation

Preparing for installation

# Clone the repository
git clone https://github.com/Kotmail/agency-crm-backend.git

# Go to the folder
cd agency-crm-backend

Warning

You need to rename the .env.example file in the root folder to .env, and then change the values according to your needs.

After completing the steps above, select the preferred installation option below:

Manual installation

Prerequisites

  1. Node.js installed.
  2. Npm installed.
  3. PostgreSQL installed. A database has been created.
# Installing dependencies in the project folder
npm i

# Building a project
npm run build

# Running migrations to create a database structure.
npm run migration:run

# Filling the database with initial data (if necessary).
npm run db:seed

# Starting a server
# - for development
npm run start:dev
# - or for production
npm run start:prod

Installation with Docker

Prerequisites

  1. Docker installed.
  2. Docker Compose installed.
# Launching services
# - in development mode with a file watcher
docker compose --profile dev up --watch
# - in production mode
docker compose --profile prod up -d

After installation using one of the above methods, the API endpoints will be available at the local address: http://localhost:3000.

API specification

The API specification is implemented using Swagger and is available after starting the server at: http://localhost:3000/swagger.

License

MIT

About

AgencyCRM is a management system for a company that allows you to create orders and monitor their implementation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published