Skip to content

RobinLandraud/notario_backend

Repository files navigation

Notario - Backend (Django REST Framework)

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.


Project Structure

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

Environment Setup

Important:
Before starting, create a .env file in the project root containing all necessary environment variables (database credentials, API keys, etc.).

Development Environment

If using the local database via Docker, no changes are required in settings_dev.py. Otherwise, update the file with your database credentials.

Production Environment

Ensure all environment variables are correctly configured for production deployment.


Installation & Build

Using Shell Scripts

  • Development build:
$ source build-dev.sh
  • Production build:
$ source build-prod.sh

Using Docker & Docker Compose

The project supports containerized deployments:

# Build and start containers
$ docker-compose up --build

Dependencies

All Python dependencies are listed in requirements.txt. Install them using:

$ pip install -r requirements.txt

Continuous Integration

  • Jenkins is used for CI/CD pipelines to automate testing and deployments.
  • build-dev.sh and build-prod.sh scripts are used for development and production builds, respectively.

Scheduled Tasks

  • Crontab is used to schedule periodic tasks, such as sending notifications or cleaning temporary files.

API Integration

  • 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.

Notes

  • Ensure all environment variables and required services (Docker containers, databases, external APIs) are running before starting the backend.
  • For production, make sure the .env file and server configuration are secured.

Quick Commands

# 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages