Skip to content

Secure CRM system using Python, SQLAlchemy, and Sentry to streamline client data and event management.

License

Notifications You must be signed in to change notification settings

githubstevemas/CRM-Event-Manager

Repository files navigation


CRM-Event-Manager

Python-based application designed to manage clients, events, and employees for your company. The application utilizes SQLAlchemy for database interactions and pytest for unit testing. The project includes features such as user authentication, role-based access control, and CRUD operations.


Features

  • User Authentication: Secure login system using hashed passwords and JWT tokens.
  • Role-Based Access Control: Different menu options and permissions based on user roles (e.g., admin, support).
  • CRUD Operations: Create, read, update, and delete clients and employees.

Technologies used

  • SQLAlchemy: The main ORM library used for database interactions.
  • pytest: A framework used for testing the application.
  • argon2: Used for hashing passwords securely.
  • JWT (JSON Web Token): Used for handling authentication.
  • psycopg2: PostgreSQL database adapter for Python.
  • Python Dotenv: Used for managing environment variables.

How to run

Once the code has been downloaded, go to the project directory and enter the following commands in terminal

install a new vitual environement :

python -m venv env

activate the environement :

env/Scripts/activate

install all the depedencies :

pip install -r requirements.txt

define environment variables (choice #1 in menu):

python set_project.py

set your ids in .env file :

DB_PASSWORD=your_db_password
DB_USERNAME=your_db_username

create tables in db (choice #2 in menu):

python set_project.py

Note

The commands above are for Windows use. Go to the official Python documentation for MacOS or Unix usage.


Usage

Run the application :

python main.py your_email

Contact

Feel free to mail me for any questions, comments, or suggestions.

About

Secure CRM system using Python, SQLAlchemy, and Sentry to streamline client data and event management.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages