Roterize is a smart assistant that helps people plan special moments - like romantic dates, friend hangouts, or meaningful time with family - by generating personalized activity itineraries based on preferences, location, budget, and time.
This repository contains the backend API, built with Ruby on Rails, using MongoDB as the data store.
- User registration and authentication (JWT)
- Create and manage custom "moments" (planned experiences)
- Personalized route generation
- Location-aware suggestions
- Store and retrieve recommended places
- Collect feedback from users to improve future suggestions
- Ruby on Rails 7
- MongoDB with
mongoid - JWT for API authentication
- RSpec for testing
- Dotenv-Rails for environment configs
- Rack-CORS for handling cross-origin requests
docker-compose build --no-cachedocker-compose updocker exec -u root -it roterize-api-web-1 bundle exec rails <your-command>Run the test suite inside the web container using the test environment (GitHub‑flavored Markdown friendly commands):
# All specs
docker exec -e RAILS_ENV=test -e RACK_ENV=test -it roterize-api-web-1 bundle exec rspec
# Verbose output (documentation formatter)
docker exec -e RAILS_ENV=test -e RACK_ENV=test -it roterize-api-web-1 bundle exec rspec --format doc