Skip to content

CRM buildt with SQLAlchemy, WTForms, Bcrypt, MVC pattern [command-line-interface]

License

Notifications You must be signed in to change notification settings

NidalChateur/OC_P12_EPIC_EVENTS_CLI

Repository files navigation

image Windows PowerShell

Python Poetry Sentry Black

Pytest Flake8 codecov Codacy Badge

EPIC EVENTS CRM

Epic Events is a company that organizes events (parties, professional meetings, off-site gatherings) for its clients.

The CRM software enables the collection and processing of client data and their events, while facilitating communication between different departments of the company.

Command-line user interface.

Database schema

Use cases

General Requirements

  • Each employee must have their own credentials to access the platform.

  • Each employee is associated with a role (based on their department).

  • The platform should allow for the storage and updating of information regarding clients, contracts, and events.

  • All employees should have read-only access to all clients, contracts, and events.

Use Cases for Management User

  1. Create, update, and delete employees in the CRM system

  2. Create and modify all contracts.

  3. Filter the display of events, for example: show all events that do not have an associated "support."

  4. Modify events (to associate a support employee with the event).

Use Cases for Sales User

  1. Create clients (the client will be automatically associated with them)

  2. Update clients they are responsible for.

  3. Modify/update contracts for clients they are responsible for.

  4. Filter the display of contracts, for example: show all contracts that are not yet signed, or that are not fully paid.

  5. Create an event for one of their clients who has signed a contract.

Use Cases for Support User

  1. Filter the display of events, for example: show only the events assigned to them.

  2. Update the events they are responsible for.

Install

0. Get Python and Git

1. Clone

git clone https://github.com/NidalChateur/OC_P12_EPIC_EVENTS_CLI.git
cd OC_P12_EPIC_EVENTS_CLI

2. Create the virtual env

python -m venv env

3. Create the virtual env

  • Windows : env\Scripts\activate.bat
  • Unix/MacOS : source env/bin/activate

4. Install poetry

pip install poetry

4. Install dependencies

poetry install

5. Run

poetry run python main.py

Activate Sentry

In the .env file automatically created after the application starts, add the Sentry key to the SENTRY_DSN variable without quotation marks.