Logo Lanfrica

Eyobed9/EtLib

Domain:

education

Record type:

software
Creator:
Eyo
Host:
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