DEV Community

Shrey Dabhi
Shrey Dabhi

Posted on

Rappel: An idea & repo management tool [DO Hackathon Submission]

What I built

Rappel - An idea management tool which is inspired from kanban boards and integrated with GitHub

Category Submission: Built for Business

App Link

The app (frontend): https://rappel.tech
API documentation (backend): https://api.rappel.tech/api/schema/redoc/

Screenshots

homepage / landing page

onboarding

onboarding - callback

dashboard

api docs

Description

An idea management tool, inspired from kanban boards and integrated with GitHub. It has the following features:

  • Automatically sync your GitHub repos
  • Sort the repos into 5 categories:
    1. Backlog
    2. Active
    3. Work In Progress
    4. Done
    5. Archive
  • Add working notes for the repos directly inside their cards

Link to Source Code

Frontend: https://github.com/sdabhi23/rappel-ui

GitHub logo sdabhi23 / rappel-ui

An idea management tool, inspired from kanban boards and integrated with GitHub

Rappel

Deploy to DO

An idea management tool, inspired from kanban boards and integrated with GitHub

This repo only contains the frontend for the app. Please check sdabhi23/rappel

Features

  • Automatically sync your GitHub repos
  • Sort the repos into 5 categories
    1. Backlog
    2. Active
    3. Work In Progress
    4. Done
    5. Archive
  • Add working notes for the repos directly inside their cards

Roadmap

  • Add notes for new ideas
  • Filter repos
  • Search repos
  • Hide stale repos into a separate tab
  • Automatically delete repos when they are deleted from GitHub
  • Integration with PyPI and NPM
  • Integration with GitLab

Run locally

  • Install dependencies

    ➜ npm install
    Enter fullscreen mode Exit fullscreen mode
  • Run the app locally

    ➜ npm start
    Enter fullscreen mode Exit fullscreen mode

The api docs should be available at http://localhost:8000/api/schema/redoc/

Screenshots

  • Homepage

    homepage

  • Authorize GitHub

    onboard

  • GitHub Callback

    onboard callback

  • Dashboard

    dashboard

License

Copyright 2021 Shrey Dabhi
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the

Backend: https://github.com/sdabhi23/rappel

GitHub logo sdabhi23 / rappel

An idea management tool, inspired from kanban boards and integrated with GitHub

Rappel

Deploy to DO

An idea management tool, inspired from kanban boards and integrated with GitHub

This repo only contains the backend for the app. Please check sdabhi23/rappel-ui

Features

  • Automatically sync your GitHub repos
  • Sort the repos into 5 categories
    1. Backlog
    2. Active
    3. Work In Progress
    4. Done
    5. Archive
  • Add working notes for the repos directly inside their cards

Roadmap

  • Add notes for new ideas
  • Filter repos
  • Search repos
  • Hide stale repos into a separate tab
  • Automatically delete repos when they are deleted from GitHub
  • Integration with PyPI and NPM
  • Integration with GitLab

Run locally using Docker

  • Generate dependency lists from Pipfile.lock using jq tool

    ➜ jq -r '.default | to_entries[] | .key + .value.version' Pipfile.lock > requirements.txt
    ➜ jq -r '.develop | to_entries[] | .key + .value.version' Pipfile.lock > requirements-dev.txt
    Enter fullscreen mode Exit fullscreen mode
  • Run the app

    ➜ docker build -t rappel-tst .
    ➜ docker-compose up -d
    ➜ docker run -d --name rappel -p
    Enter fullscreen mode Exit fullscreen mode

Permissive License

Frontend: Apache License 2.0
Backend: Apache License 2.0

Background

I completed my bachelor's degree in mid-2020. I always made it a point to put whatever meaningful projects I built on GitHub. That combined with forks of some projects and a few more projects that I actively managed left me with more than 50 repos.

I was already looking for some tool which can provide me an overview of all my repos and categorize and manage them in a better way, but couldn't find anything which exactly fit the bill. So I decided to build it on my own.

How I built it

I had to make choices about tech stacks and though I wanted to explore new horizons I decided to go with the tools and technologies I am most comfortable with in-order to build a solid stable application.

I have deployed Flask apps earlier, but this is the first time I deployed a Django application. The DNS management service provided by DigitalOcean is great.

Additional Resources/Info

  • Libraries / frameworks used:

    • Semantic-UI React for styling
    • React-Trello for boards
    • React-Quill for rich-text editor
    • Django and Django Rest Framework for api
    • Django Rest Knox for better token management
    • Daphne for deployment
    • drf-spectacular for API docs
  • DigitalOcean’s App Platform is pretty good but the Docker builds take longer than expected and monorepo support can be improved.

Top comments (1)

Collapse
 
smeetkothari profile image
Smeet Kothari

Best one to use.
Someone is gonna argue me that Asana is best free tool, but delete your whole project and still it will keep notifying future deadline of same project dates you have set!