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.
- 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.
- 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.
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.
Run the application :
python main.py your_email
Feel free to mail me for any questions, comments, or suggestions.