Skip to content

maciejb2k/project-management-graphql

Repository files navigation

Rails GraphQL Project Management

Simple project management system with GraphQL API, allowing multiple users collaborating on projects and tasks.

graphiql

Technologies

Ruby 3.2.0, Rails 7.0, PostgreSQL, GraphQL, GraphiQL, Ransack, RSpec, FactoryBot, Faker, Rubocop, Pry, Devise, Doorkeeper, Pundit, ActiveAdmin.

Implemented Functionalities

  • 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:

ERD

Getting Started

Go to docker-compose.yml, comment line 17 and uncomment line 18, then run this command to setup the database:

docker compose up

Then 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 app

To 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

About

Simple project management system with GraphQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages