This is a full-stack application with a Python Flask backend and React TypeScript frontend, designed to manage permissions, roles, users, categories, and contacts.
- Python 3
- Flask
- SQLAlchemy (ORM)
- Flask-Migrate (database migrations)
- Flask-RESTful (API endpoints)
- React
- TypeScript
- Vite (build tool)
- Shadcn/ui (UI components)
- Axios (HTTP client)
- Docker
- Docker Compose
- Docker and Docker Compose installed
- Node.js (for frontend development)
- Clone the repository
- Navigate to the project directory
docker-compose up --buildThis will start:
- Backend server on port 5000
- Frontend server on port 5173
- Database service
- Navigate to
backend/ - Create a virtual environment:
python -m venv venv venv\Scripts\activate # On Windows
- Install dependencies:
pip install -r requirements.txt
- Run the server:
python main.py
- Navigate to
frontend/ - Install dependencies:
npm install
- Run the development server:
npm run dev
react-python/
├── backend/ # Flask backend
│ ├── app/ # Application code
│ ├── migrations/ # Database migrations
│ ├── static/ # Static files
│ ├── Dockerfile # Backend Docker config
│ └── requirements.txt # Python dependencies
├── frontend/ # React frontend
│ ├── src/ # Source code
│ ├── public/ # Public assets
│ ├── Dockerfile # Frontend Docker config
│ └── package.json # Frontend dependencies
└── docker-compose.yml # Docker orchestration
- User authentication and authorization
- Role-based permissions
- Contact management
- Category management
- Audit logging
- Responsive UI
API documentation is available via Swagger UI when running the backend:
http://localhost:5000/swagger-ui