Project Title: Developing a Secure RESTful API for Environmental Sites Data Management in Tunisia
# 🌿 Developing a Secure RESTful API for Environmental Sites Data Management in Tunisia
This project is a **RESTful API** designed to manage and provide structured access to data related to **Tunisia’s environmental heritage**, including natural sites, flora, fauna, climate information, and protection status.
The API aims to centralize environmental data and make it accessible in a secure, standardized, and scalable way for researchers, administrators, and public users.
---
## Features
* CRUD operations for environmental entities (Sites, Flora, Fauna, Climate, Protection)
* Role-Based Access Control (RBAC)
* JWT-based authentication and authorization
* Secure RESTful endpoints
* Interactive API documentation using Swagger (OpenAPI)
* API testing using Insomnia
---
## Technology Stack
* **Backend:** Python, Flask, Flask-Smorest
* **Database:** SQLite (development)
* **Authentication:** JWT (JSON Web Tokens)
* **API Documentation:** Swagger / OpenAPI
* **Testing:** Insomnia
---
## Examples of User Roles
* **Admin:** Full access to all endpoints (CRUD + user management)
* **Specialists:** Limited access based on domain (flora, fauna, climate, protection)
* **Public Users:** Read-only access to public data
---
## API Documentation
Swagger UI is available to explore and test all endpoints
## API Testing
An Insomnia workspace is provided in the repository to test endpoints, authentication, and role-based access.
---
## API Documentation
Developped By: Yassmine Yazidi , BA/IT Student