Simple project management system with GraphQL API, allowing multiple users collaborating on projects and tasks.
Ruby 3.2.0, Rails 7.0, PostgreSQL, GraphQL, GraphiQL, Ransack, RSpec, FactoryBot, Faker, Rubocop, Pry, Devise, Doorkeeper, Pundit, ActiveAdmin.
- GraphQL API with pagination, sorting, filtering, and error handling.
- User authentication with Devise and OAuth 2.0 API access with Doorkeeper.
- Authorization rules with Pundit policies.
- RBAC (Role-based access control) with fully customizable permissions matrix.
- Admin panel with ActiveAdmin for system admin.
- RSpec specs with fully covered graphql queries and mutations.
Below is a ERD diagram of the project:
Go to docker-compose.yml, comment line 17 and uncomment line 18, then run this command to setup the database:
docker compose upThen exit containers (try spamming CTRL+C), comment back line 18 and uncomment line 17, then run the following command and you are ready to go:
docker compose up -d && docker compose attach appTo run specs, attach to the app (attach shell in the VSCode or from CLI run docker compose exec -it app bash) container and run (test database must be seeded):
RAILS_ENV=test rails db:reset && rspec
