Notario is a digital platform connecting clients and notaries, enabling secure document handling and electronic signatures. This backend is built with Django REST Framework and integrates with multiple services including a Go-based document management backend, React web and React Native mobile frontends, and various other tools for automation and deployment.
The backend is composed of the following Django apps:
- accounts – User authentication and management
- articles – Articles management system
- chat – Real-time messaging
- clients – Client management
- esign – Qualified electronic signature (SEQ) management
- faq – Frequently Asked Questions
- files – File storage and handling
- mail – Email service integration
- notaries – Notary management
- notification – Push notifications and alerts
- office – Office management
- planning – Scheduling and appointments
It is also linked to:
- A Go backend for document processing and management
- A React web frontend
- A React Native mobile frontend
Important:
Before starting, create a .env file in the project root containing all necessary environment variables (database credentials, API keys, etc.).
If using the local database via Docker, no changes are required in settings_dev.py. Otherwise, update the file with your database credentials.
Ensure all environment variables are correctly configured for production deployment.
- Development build:
$ source build-dev.sh- Production build:
$ source build-prod.shThe project supports containerized deployments:
# Build and start containers
$ docker-compose up --buildAll Python dependencies are listed in requirements.txt. Install them using:
$ pip install -r requirements.txt- Jenkins is used for CI/CD pipelines to automate testing and deployments.
build-dev.shandbuild-prod.shscripts are used for development and production builds, respectively.
- Crontab is used to schedule periodic tasks, such as sending notifications or cleaning temporary files.
- The backend exposes REST APIs to interact with the React web and mobile frontends.
- Integrates with the Go backend for document management and e-signature workflows.
- Ensure all environment variables and required services (Docker containers, databases, external APIs) are running before starting the backend.
- For production, make sure the
.envfile and server configuration are secured.
# Run development server
$ source build-dev.sh
# Run production server
$ source build-prod.sh
# Install dependencies
$ pip install -r requirements.txt
# Run Docker containers
$ docker-compose up --build