Skip to content

Latest commit

 

History

History
executable file
·
123 lines (94 loc) · 3.49 KB

README_v0.md

File metadata and controls

executable file
·
123 lines (94 loc) · 3.49 KB

Scheme

(link coming soon)

Minimum Viable Product

Scheme is an Asana clone. It is built on Rails with React/Flux. Scheme users ("schemas") can:

  • Create accounts
  • Join organizations
  • Create tasks and subtasks
  • Assign tasks, set deadlines, add comments
  • Organize tasks into projects
  • Attach files to tasks
  • Mark tasks complete

Design Docs

Implementation Timeline

Phase 1: Backend setup and User Authentication (0.5 days)

Objective: Functioning rails project with Authentication

  • create new project
  • create User model
  • authentication
  • user signup/signin pages
  • blank landing page after signin

Phase 2: Task Model, API, and React Components (2 days)

Objective: CRUD API for Tasks, plus React components and Flux cycle for creating and updating tasks.

  • create Task model & DB seeds
  • CRUD API for tasks (TasksController)
  • jBuilder views for tasks
  • setup APIUtil to interact with the API
  • Add primary React components for Tasks:
    • TasksIndex
    • TasksIndexItem
    • TaskDetail
    • TaskSummary

Phase 3: Projects and Teams (3 days)

Objective: Users can create projects and invite other users to their team. All tasks belong to a project, all users belong to a team.

  • Implement project components, building out the flux loop as needed.
    • ProjectIndex
    • ProjectIndexItem
    • ProjectEditor
  • Add "new team" option to account creation process
  • Add NavBar component and MemberInvite subcomponent, build out flux loop as needed

Phase 4: Task Comments and Uploads (2 days)

Objective: Allow users to add comments, subtasks, and files to tasks

  • Implement components and extend Flux loop as needed
    • TaskCommentIndex
    • TaskComment
    • TaskUploadIndex
    • TaskUpload
    • SubTaskIndex
    • SubTask
  • Enable drag-n-drop file uploads & storage (AWS?)
  • add basic colors & styles

Phase 5: TaskFollows and Inbox (1 day)

Objective: Allow users to follow tasks and see recent activity on their tasks in "Inbox" mode

  • Add TaskFollower components
    • TaskFollowerIndex
    • TaskFollower
  • Add Inbox components and routes
    • InboxIndex
    • InboxItem
  • Use CSS to style Inbox view

Phase 6: Styling Cleanup and Seeding (1 day)

objective: Make the site feel more cohesive and awesome.

  • Get feedback on my UI from others
  • Refactor HTML classes & CSS rules
  • Add modals, transitions, and other styling flourishes.

Bonus Features (TBD)

  • Search tasks
  • Multiple sessions
  • Drag-n-drop organization of tasks
  • Animated unicorns to celebrate task completion
  • Pagination / infinite scroll for Inbox and TaskIndex
  • Keyboard shortcuts for power users
  • Push new task comments from other users
  • Paid account upgrades