Logo Lanfrica

Eyobed9/EtLib

Domaine:

education

Type de record:

software
Créateur:
Eyo
Hôte:
This is a repository for Ethiopian digital library # 📚 EtLib – Ethiopian Digital Library API EtLib is a RESTful API built with **Django REST Framework** and **MySQL**, designed to serve as a digital library system for Ethiopian institutions, schools, and communities. It allows **librarians** to manage book inventories and **users** to borrow and return books. The goal is to improve access to books and learning materials digitally. --- ## 🌐 Live Demo - 🔗 Backend API --- ## 🧰 Tech Stack - Django + Django REST Framework - MySQL (Relational Database) - JWT Authentication (`djangorestframework-simplejwt`) - RESTful API --- ## 📂 Project Structure ``` etlib/ ├── books/ # Book management (CRUD + Borrow/Return) │ ├── models.py │ ├── serializers.py │ ├── views.py │ └── urls.py ├── users/ # User management + authentication │ ├── models.py │ ├── serializers.py │ ├── views.py │ └── urls.py ├── etlib/ # Main Django configuration │ ├── settings.py │ └── urls.py ├── manage.py ├── requirements.txt └── README.md ``` --- ## 🚀 Getting Started ```bash # Clone the repo git clone github.com # Navigate to the project directory cd EtLib # Create a virtual environment python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Apply migrations python manage.py migrate # Create a superuser for admin access python manage.py createsuperuser # Run the development server python manage.py runserver ``` Open 127.0.0.1 with your browser or test endpoints in **Postman**. --- ## 🔐 Environment Variables Create a `.env` file and configure your database + secret key: ``` SECRET_KEY=your_django_secret_key DEBUG=True DB_NAME=etlib_db DB_USER=etlib_user DB_PASSWORD=abc123 DB_HOST=localhost DB_PORT=3306 ``` --- ## 🧪 Testing with Postman - ✅ Register → Login → Get JWT token - ✅ Add Book (Librarian only) - ✅ List/Search Books (All users) - ✅ Checkout B …

Languages

Licenses