https://github.com/marcosvbras/inimex-api
A simple RESTful API with Django REST Framework
https://github.com/marcosvbras/inimex-api
api django django-celery django-rest-framework python rabbitmq web
Last synced: 2 months ago
JSON representation
A simple RESTful API with Django REST Framework
- Host: GitHub
- URL: https://github.com/marcosvbras/inimex-api
- Owner: marcosvbras
- License: wtfpl
- Created: 2017-08-18T20:34:50.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-17T03:02:59.000Z (almost 9 years ago)
- Last Synced: 2025-03-27T03:27:20.708Z (over 1 year ago)
- Topics: api, django, django-celery, django-rest-framework, python, rabbitmq, web
- Language: Python
- Homepage:
- Size: 6.14 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Inimex API
**Inimex API** is a simple RESTful API that provides anime informations and allow that users to make your own anime lists (like the [MyAnimeList](https://myanimelist.net/)). The anime data is consumed from [Kitsu API](https://kitsu.io/).
Using this API you can:
1. Perform basic CRUD related to animes.
2. Add animes to your lists.
The Inimex API is used for learn more about the magic-huge web world and improve my Jedi Master Programming Skills in Python. This API will be the **Best API** related to animes in the world, **do you doubt it?**
## Requirements
- Python 3.5;
- RabbitMQ 3.6.11.
## Installation
Install all libraries in the `requirements.pip` file:
```
pip install -r requirements.pip
```
> **RECOMMENDED:** Use [Docker](https://www.docker.com/) or a virtual environment (e.g., [VirtualEnv](https://virtualenv.pypa.io/)) to ensure your dependencies are local to your app.
Ensure to make and run the database migrations:
```
python manage.py makemigrations
python manage.py migrate
```
Change the `BROKER_URL` property in `project/settings.py` file based in your RabbitMQ configurations. Ensure that RabbitMQ is running.
## Running the project
Run the application using the Django built in server:
```
python manage.py runserver 0.0.0.0:8000
```
Run Django Celery:
```
celery --app=project worker --loglevel=INFO
```
(Optional) Run Django Celery Flower to tasks monitoring:
```
celery --app=project flower
```
## Stack
- Backend: Python/Django REST Framework
- Broker: RabbitMQ
- Database: SQLite
## TO DO List
- Custom User
- User registration
- Retrieve/Update AnimeList endpoint
# License
Copyright 2017 Marcos Vinícius Brás
Licensed under the Do What The F*ck You Want To Public License, version 2.0.
See the LICENSE file to more informations about this awesome license.
http://www.wtfpl.net/about/