BookSwipe es una aplicación de intercambio de libros inspirada en la funcionalidad del match de otras apps como Tinder. Los usuarios pueden deslizar libros hacia la izquierda o derecha para indicar si están interesados o no. Si dos usuarios coinciden en sus gustos (es decir, ambos han dado like a los libros del otro), pueden iniciar un chat para coordinar el intercambio de libros.
El frontend está desarrollado en React utilizando styled-components, mientras que el backend está construido en Django con Django REST Framework y una base de datos PostgreSQL.
Funcionalidades
- Registro y autenticación de usuarios.
- Deslizamiento de libros para mostrar interés o no.
- Sistema de matches basado en los gustos de los usuarios.
- Chat entre usuarios con match para coordinar el intercambio de libros.
- Creación y eliminación de libros desde la página BookShelf.
- Visualización de libros en formato de tarjeta.
- Filtros para evitar que los usuarios vean sus propios libros en el swipe.
- Clona el repositorio:
git clone https://github.com/Fire-Fairy84/book_swipe_front
- Instala las dependencias:
npm install
- Ejecuta los tests unitarios y de integración:
npm test
El proyecto sigue una estructura común para aplicaciones Django y React, con una API organizada en diferentes módulos para una gestión eficiente.
/
├── book_swipe
│ ├── books/
│ │ ├── migrations/
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── views.py
│ ├── users/
│ │ └── ...
│ ├── matches/
│ │ └── ...
│ ├── utils/
│ │ └── ...
│ ├── manage.py
│ ├── requirements.txt
│ └── README.md
├── bookswipe-frontend
│ ├── components/
│ │ ├── Button/
│ │ ├── BookCard/
│ │ ├── Navbar/
│ ├── pages/
│ │ ├── Home.jsx
│ │ ├── BookShelf.jsx
│ │ └── ...
│ ├── App.js
│ └── ...
Backend (https://github.com/Fire-Fairy84/book_swipe_back)
- Python 3.12
- Django 5.1.1
- Django REST Framework 3.15.2
- PostgreSQL 15
- Pillow 10.0.1 para manejo de imágenes
- Pytest 7.4.2
Frontend
Para iniciar la aplicación, asegúrate de que el servidor de backend esté corriendo:
python manage.py runserver-
Haz un fork del repositorio.
-
Crea una nueva rama:
git checkout -b feature/nueva-funcionalidad
-
Realiza tus cambios y haz commit:
git commit -m 'Agrega nueva funcionalidad' -
Haz push de tu rama:
git push origin feature/nueva-funcionalidad
-
Crea un pull request.
- Esther P. Sarasua(https://github.com/Fire-Fairy84)
A continuación, algunas capturas de la aplicación:
- Página de inicio.
- Página de perfil.
- Swipe de libros.
- Estantería de libros.
- Añadir nuevo libro.




