{"id":25249783,"url":"https://github.com/mateuseap/festalab-challenge","last_synced_at":"2026-04-29T01:34:28.170Z","repository":{"id":199344133,"uuid":"701490262","full_name":"mateuseap/festalab-challenge","owner":"mateuseap","description":"Technical challenge of FestaLab","archived":false,"fork":false,"pushed_at":"2023-10-12T18:16:03.000Z","size":86,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T22:11:37.570Z","etag":null,"topics":["ruby-on-rails"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mateuseap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-06T18:45:17.000Z","updated_at":"2023-12-30T03:05:49.000Z","dependencies_parsed_at":"2023-10-12T14:38:13.390Z","dependency_job_id":"890a5d71-b546-4829-927d-3aba4e14d056","html_url":"https://github.com/mateuseap/festalab-challenge","commit_stats":null,"previous_names":["mateuseap/festalab-challenge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mateuseap/festalab-challenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateuseap%2Ffestalab-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateuseap%2Ffestalab-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateuseap%2Ffestalab-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateuseap%2Ffestalab-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mateuseap","download_url":"https://codeload.github.com/mateuseap/festalab-challenge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateuseap%2Ffestalab-challenge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32407164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ruby-on-rails"],"created_at":"2025-02-12T03:50:52.079Z","updated_at":"2026-04-29T01:34:28.153Z","avatar_url":"https://github.com/mateuseap.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FestaLab Challenge\n\n## 🔧 Pre-requisites\n\nBefore running the project, you must have the following tools installed on your machine:\n* [Git](https://git-scm.com/downloads)\n* [Docker](https://docs.docker.com/get-docker/)\n* [Ruby 3.2.2](https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/)\n* [Rails 7.0.8](https://rubyonrails.org/2023/9/9/Rails-7-0-8-has-been-released) \n\nAlso, you will need to clone the repository:\n\n```bash\n# Clone the repository\ngit clone https://github.com/mateuseap/festalab-challenge\n\n# Enter the root directory\ncd festalab-challenge\n```\n\n## 🚀 Project Setup\n\n### 🐳 Database Configuration with Docker\n\nSet up a PostgreSQL Docker container to manage the project's database:\n\n```docker\n# Run the Postgres Docker container\ndocker run --name festalab-pg -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres\n```\n\n### ⚙️ Setting the Environment Variables\n\nCreate a file named `.env` in the project directory and copy the contents of `.env.example` into it. Fill in the necessary credentials in the `.env` file.\n\n### ⬇️ Installing Dependencies\n\nNow, it's time to install the project dependencies. Just run the command below:\n\n```bash\n# Install dependencies\nbundle install\n```\n\nEnsure you are located in the correct project directory (`/festalab-challenge`) when executing the above command. Once the dependencies are installed, you're ready to proceed to the next steps of the setup process.\n\n### 🛠️ Database Initialization and Migrations\n\nInitialize the databases and apply migrations with a single command:\n\n```bash\n# Create databases and run migrations\nrails db:create db:migrate\n```\n\nThis command ensures the databases are set up correctly and applies any pending migrations.\n\n### 🏃 Running the App\n\nTo run the App, just use the command below (make sure you're in `/festalab-challenge` directory):\n\n```bash\n# Running the Rails server\nbin/dev\n```\n\nThen, open [http://localhost:3000/](http://localhost:3000/) to view it in the browser.\n\n![App](https://i.imgur.com/RhJIus8.png)\n\n## 🧪 Running Tests\n\nUse the following commands to run tests, once you've completed the project setup process:\n\n```bash\n# Run controllers tests\nrails test:controllers\n\n# Run models tests\nrails test:models\n\n# Run all tests\nrails test\n```\n\n![Tests](https://i.imgur.com/iqILIYJ.png)\n\n## 🛠️ Database Operations\n\n#### 🌱 Database Seeding\n\nSeed the database with initial data using the following command:\n\n```bash\n# Seed the database\nrails db:seed\n```\n\nThis command will populate the database with predefined users from the `seeds.rb` file.\n\n#### 🔄 Apply Pending Migrations\n\nIf you need to apply any pending migrations, use the command below:\n\n```bash\n# Run migrations\nrails db:migrate\n```\n\nThis command will run any pending migrations that haven't been applied to the databases yet, ensuring your database schema is up-to-date.\n\n#### ⛔ Reset Databases\n\nIf you need to reset your databases by dropping the existing ones and recreating them, use the following command:\n\n```bash\n# Drop existing databases and recreate\nrails db:drop db:create db:migrate\n```\n\n\u003e Note: Resetting databases will delete all existing data. Use with caution.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateuseap%2Ffestalab-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateuseap%2Ffestalab-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateuseap%2Ffestalab-challenge/lists"}