{"id":13819706,"url":"https://github.com/learnetto/calreact","last_synced_at":"2025-08-21T01:32:14.153Z","repository":{"id":216970297,"uuid":"79088849","full_name":"learnetto/calreact","owner":"learnetto","description":"React and Rails 5 calendar appointment app","archived":false,"fork":false,"pushed_at":"2020-02-12T10:52:36.000Z","size":1108,"stargazers_count":190,"open_issues_count":3,"forks_count":54,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-12-08T10:50:33.279Z","etag":null,"topics":["calendar-appointments","course","course-project","javascript","lesson","rails","react","react-rails","ruby"],"latest_commit_sha":null,"homepage":"https://learnetto.com/users/hrishio/courses/the-complete-react-on-rails-5-course","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/learnetto.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}},"created_at":"2017-01-16T06:20:47.000Z","updated_at":"2024-07-01T18:51:33.000Z","dependencies_parsed_at":"2024-01-13T23:58:44.430Z","dependency_job_id":"6eb05736-066e-4d9f-a73c-aec383cddf54","html_url":"https://github.com/learnetto/calreact","commit_stats":null,"previous_names":["learnetto/calreact"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnetto%2Fcalreact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnetto%2Fcalreact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnetto%2Fcalreact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learnetto%2Fcalreact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/learnetto","download_url":"https://codeload.github.com/learnetto/calreact/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230479865,"owners_count":18232630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["calendar-appointments","course","course-project","javascript","lesson","rails","react","react-rails","ruby"],"created_at":"2024-08-04T08:00:51.954Z","updated_at":"2024-12-19T18:13:10.009Z","avatar_url":"https://github.com/learnetto.png","language":"Ruby","readme":"# calreact\n\nThis is a simple calendar appointments app built as part of the [The Complete React on Rails Course](https://learnetto.com/users/hrishio/courses/the-complete-react-on-rails-5-course) on [Learnetto](https://learnetto.com).\n\nIt's a Ruby on Rails 5 app which uses React.js on the frontend.\n\nYou can start learning [how to use React with Rails for free with The Free React on Rails Course](https://learnetto.com/users/hrishio/courses/the-free-react-on-rails-course), which includes the first four modules of the complete course.\n\nDemo app - [https://calreact.herokuapp.com/](https://calreact.herokuapp.com/)\n\n## Lessons list and links to code:\n\n### Module 2 Getting started with React in Rails\n\n[Lesson 1 - Installation and setup of Rails 5 app with react-rails gem](https://github.com/learnetto/calreact/tree/lesson-2.1)\n\n### Module 3 Your first Rails app with React\n\n[Lesson 1 - Calendar appointments app with jQuery and Haml](https://github.com/learnetto/calreact/tree/lesson-3.1)\n\n[Lesson 2 - React props and nested components](https://github.com/learnetto/calreact/tree/lesson-3.2)\n\n[Lesson 3 - React State - Handling user form input](https://github.com/learnetto/calreact/tree/lesson-3.3)\n\n[Lesson 4 - React State - Handling form submission](https://github.com/learnetto/calreact/tree/lesson-3.4)\n\n[Lesson 5 - Using a third-party JavaScript library - Moment.js](https://github.com/learnetto/calreact/tree/lesson-3.5)\n\n[Lesson 6 - Using a third-party React component - react-datetime](https://github.com/learnetto/calreact/tree/lesson-3.6)\n\n[Lesson 7 - Styling with CSS in React](https://github.com/learnetto/calreact/tree/lesson-3.7)\n\n[Lesson 8 - Deploying a react-rails app to Heroku](https://github.com/learnetto/calreact/tree/lesson-3.8)\n\n### Module 4 ECMAScript 6 (ES6)\n\n[Lesson 1 - Introduction to ES6 using the react-rails component generator](https://github.com/learnetto/calreact/tree/lesson-4.1-4.3)\n\n[Lesson 2 - ES6 classes in React](https://github.com/learnetto/calreact/tree/lesson-4.1-4.3)\n\n[Lesson 3 - ES6 Arrow functions in React](https://github.com/learnetto/calreact/tree/lesson-4.1-4.3)\n\n[Lesson 4 - Stateless Functional Components in React](https://github.com/learnetto/calreact/tree/lesson-4.4)\n\n[Lesson 5 - How to use React with the webpacker gem and Rails 5.1](https://github.com/learnetto/calreact/tree/lesson-4.5)\n\n### Module 5 - Using React with the react_on_rails gem\n\n[Lessons 1 and 2 - Introduction and Migrating the Calendar appointments app to react_on_rails](https://github.com/learnetto/calreact/tree/calreact-ror)\n\n[Lesson 5 - Hot Module Replacement](https://github.com/learnetto/calreact/tree/hmr)\n\n### Module 6 - Forms in depth\n\n[Lesson 1 - Basic form validation](https://github.com/learnetto/calreact/tree/m6l1-rails-validation)\n\n[Lesson 2 - Client-side form validation in React](https://github.com/learnetto/calreact/tree/m6l2-title-validation-in-react)\n\n[Lesson 3 - Code refactor and corrections](https://github.com/learnetto/calreact/tree/m6l3-refactor)\n\n[Lessons 4 to 7 - Generalised client side validations](https://github.com/learnetto/calreact/tree/m6l7-generalised-validations)\n\n[Lesson 8 - Typechecking with Proptypes](https://github.com/learnetto/calreact/tree/m6l8-proptypes)\n\n### Module 7 - React Router\n\n[Lessons 1 to 8 - React Router v4](https://github.com/learnetto/calreact/tree/m7-react-router)\n\n### Module 8 - User authentication with Devise\n\n[Lesson 1 - Using Devise with React](https://github.com/learnetto/calreact/tree/m8-devise)\n\n### Module 9 Using React with a Rails API\n\n#### Backend:\n\n[Lessons 1 and 2 - Setting up a Rails API app](https://github.com/learnetto/calreact/tree/m9l1-rails-api)\n\n[Lesson 3 - API User authentication with devise_token_auth](https://github.com/learnetto/calreact/tree/m9l3-devise-token-auth)\n\n#### Frontend:\n\n[Lessons 1 and 2 - Setting up Create React App and porting components from Rails](https://github.com/learnetto/calreact-frontend/tree/m9l2-port-components)\n\n[Lesson 3 - API User authentication with devise_token_auth](https://github.com/learnetto/calreact-frontend/tree/m9l3-login)\n\n[Lesson 4 - Displaying session data and signing out](https://github.com/learnetto/calreact-frontend/tree/m9l4-sign-out)\n\n### Module 10 Testing React (Frontend)\n\n[Lesson 1 - Testing with Jest](https://github.com/learnetto/calreact-frontend/tree/m10l1-jest)\n\n[Lesson 2 - Testing with Enzyme](https://github.com/learnetto/calreact-frontend/tree/m10l2-enzyme)\n\n[Lesson 3 - Snapshot Testing](https://github.com/learnetto/calreact-frontend/tree/m10l3-snapshot-testing)\n\n[Lesson 4 - Testing Forms](https://github.com/learnetto/calreact-frontend/tree/m10l4-testing-forms)\n\n### Module 11 Styling and animations (Frontend)\n\n[Lesson 1 - Using Bootstrap with React](https://github.com/learnetto/calreact-frontend/tree/m11l1-bootstrap)\n\n[Lesson 2 - CSS Animations and Transitions](https://github.com/learnetto/calreact-frontend/tree/m11l2-transitions)\n","funding_links":[],"categories":["Happy Exploring 🤘"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnetto%2Fcalreact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flearnetto%2Fcalreact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnetto%2Fcalreact/lists"}