- TrainTrakr_Joan
- Instalar
- Tecnologías
- Despliegue
-
Home: Listado de todas las estaciones disponibles en la aplicación con redirección a viajes con filtro o sin filtro.
-
Trips: Listados de viajes, filtro por estación de salida, mapa con las estaciones para web - móvil y redirección al detalle de cada viaje.
-
Details: Ver detalles del viaje con todos los asientos disponibles de tren y realizar reserva de un asiento.
-
Profile: Ver el perfil de tu usuario, incidencias, notificaciones y reservas del usuario. En las vistas de las reservas podremos generar QR para su validación y Factura del viaje reservado.
-
Login: Register y Login de usuario con social login (Google, GitHub o normal con correo y contraseña).
-
Dashboard: Solo tienen acceso los administradores, contiene los cruds: Estaciones, Trenes, Sillas, Viajes y modificar el estado de una incidencia.
Tener instalado las siguientes herramientas:
- React v18.2.0
- DRF v3.14.0
- PostgreSQL
- DJango
cd backend
cp ./src/settings.example.py ./src/settings.py
pipenv install
pipenv run python ./manage.py migrate
pipenv run python ./filler.py (Opcional, creación de dummys )
pipenv run python ./manage.py runserver 0.0.0.0:8000
- React
cd frontend
npm install -D
npm run dev
Lista de tecnologías utilizadas en este proyecto:
Backend
🏗️
- DRF v3.14.0
- Routes
- Models
- Controllers
- DB validation
- PostgreSQL
- Relationships
- Schema
- Middleware_auth
- Token JWT
- Token Blacklist
Frontend
🏛️
- React v18.2.0
- JavaSpript
- Estructurado en Modules
- Routes
- Models
- Components
- Reactive Forms
- Validation
- Lazy load
- Guards
- Service with axios
- Authentication JWT enviado por Headers
- Hooks y context (Reducer)
- Librerias:
- react-toastify
- leaflet
- react-leaflet
- react-qr-code
- firebase
- react-pdf/renderer
- Test:
- Vitest
BBDD
💾
- PostgreSQL
Nos situaremos en la raíz del proyecto con el siguiente comando.
cd TrainTrakr
Ejecutaremos el siguiente comando y se realizará todo el desplegamiento del proyecto, tendrás que cambiar el archivo secret.js que está en frontend/src para que funcione todo correctamente.
docker-compose up