This project is a hobby app, created to explore and demonstrate my skills and familiarity with Rails, Sidekiq, service objects, and RRule. While it showcases my abilities and understanding of the technologies used, it does not necessarily reflect the thoroughness or polish of a final production-ready application.
The primary goal of this project is to provide a playground for learning and experimentation, and as such, some areas may not be fully optimized or feature-complete. I hope it offers insight into my development process and the tools I enjoy working with.
The Habits Backend is a Rails-based API designed to deliver data for a Next.js frontend application. This project manages user to-dos, allowing them to be scheduled and set on a recurring basis using the RRule specification.
- CRUD operations for tasks
- Schedule tasks with specific dates and times
- Recurring tasks using the RRule specification
- API endpoints to support Next.js frontend
- Ruby 3.x
- Rails 6.x or 7.x
- PostgreSQL
-
Clone the repository:
git clone https://github.com/danfrenette/habits-backend.git cd habits-backend
-
Install dependencies:
bundle install
-
Set up the database:
rails db:create rails db:migrate rails db:seed
-
Start the server:
bin/dev
api_user_tasks POST /api/users/:user_id/tasks(.:format) api/tasks#create api_users POST /api/users(.:format) api/users#create api_tasks GET /api/tasks(.:format) api/tasks#index api_task PATCH /api/tasks/:id(.:format) api/tasks#update PUT /api/tasks/:id(.:format)
- Note that some endpoints may be present in main, but are for features currently being developed for the Frontend.
This API is designed to be used with the Next.js frontend. For details on integrating with the frontend, refer to the frontend repository.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
For any inquiries, send me an email yourname.