Skip to content

A Trello made using Django Rest Framework, Redis, SASS and React.

License

Notifications You must be signed in to change notification settings

amirkeyhani/trello

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

trello-clone

A Trello made using Django Rest Framework, Redis, SASS and React.

Features

  • Register and Login
    • JWT Authentication to connect DRF and React
    • Can login with username or email
  • Projects (Teams)
    • Create Projects
    • Invite members to join projects via one time link
    • Change member access level - Admin or Normal
      • Admin can edit project details, invite new members, and change other members' access levels.
  • Boards
    • Create personal boards or project boards
    • Recently Viewed Boards
    • Starred Boards
    • Create and reorder lists
    • Create, reorder, and change list of cards
      • Add labels to cards
      • Assign members to cards
      • Add attachments to cards
      • Add comments to cards
    • Search
      • Autocomplete (Debounced)
    • Unsplash API Integration
      • Set environment variable REACT_APP_UNSPLASH_API_ACCESS_KEY with access key
    • Automatically adapt header and board title styling based on brightness of board background
  • Notifications
    • When someone assigns you to a card
    • When someone comments on a card you're assigned to
    • When you're invited to a project
    • When someone makes you admin of a project

Getting Started

  1. Install Python, Redis.
  2. Clone the repo
git clone https://github.com/amirkeyhani/trello
$ cd trello
  1. Install pipenv, a python virtual environment manager. Install backend dependencies and run migrations to create database. Default database is SQLite.
$ pip install pip
$ pip install virtualenv
$ cd backend
$ py -m venv env
$ run python manage.py migrate
  1. Install frontend dependencies.
$ cd frontend
$ npm install
  1. Run redis
$ redis-server
  1. Run both frontend and backend servers with following commands in appropriate directories.
$ python manage.py runserver
$ npm start