Giter Site home page Giter Site logo

pranavsk / apption Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 260 KB

A web app that allows users to plan, organize, collaborate and publish a variety of contents. Built on Nextjs with Neon database and Backblaze storage.

TypeScript 99.48% JavaScript 0.17% CSS 0.21% Shell 0.14%

apption's Introduction

Hi ๐Ÿ‘‹

I'm Pranav S Koundinya, a software engineer from India

apption's People

Contributors

pranavsk avatar

Stargazers

 avatar  avatar

Watchers

 avatar

apption's Issues

Feature: User Authentication

Epic Title

Feature: User Authentication

Epic Description

Enable user authentication via email and OAuth providers using Lucia-auth and Neon Db. Make use of the server actions for the login functionality.

List of Tasks (Complete in order)

  • Task: Use Drizzle ORM to setup the Db for lucia-auth with user, session and key tables.
  • Task: Add support for GitHub OAuth for login.
  • Task: Create a Login page
  • #4

Task: Add tables for documents and nested documents.

Task Title

Task: Add tables for documents and nested documents.

Task description

Create drizzle schemas for documents with support for nesting. Each of them have a trash mode to allow the user to un-delete.

Epic Parent

Feature: User Dashboard

Epic Title

Feature: User Dashboard

Epic Description

Allow users to view and manage all the workspaces, folders and files hierarchically. Add ability to search for files or folders.

List of Tasks (Complete in order)

  • #6
  • #8
  • Task: Create a workspace settings page.
  • Task: Setup CRUD operations for workspace, folder and file.
  • Task: Create a sidebar with search and navigation.

Task: Add Github Templates

Task Title

Task: Add Github Templates

Task Description

Add templates for creating issues and pull requests

Task: Create a dashboard page with sidebar.

Task title

Task: Create a dashboard page with a sidebar.

Task description

Create a dashboard page that takes the user to the last used workspace. The page has 2 sections: the sidebar and the editor

1. The sidebar

  • This contains the navigation system of the apps structured as per hierarchy.
  • All the documents created will be available here.
  • Contains tools to view, search and organise documents.

The sidebar implementation is tracked with it's own epic issue:

2. The editor

  • This section allows user to create and edit content.
  • Has a control menu bar at the top which auto fades away.
  • Implement breadcrumb navigation of documents.
  • A menu with the following tools:
    • Style customisation
    • Lock document
    • Add to favourites/pinned documents.
    • Undo/Redo.
    • Page history.
    • Export
    • Move to - submenu to move to a different workspace.
    • Word count - show live numbers
    • Last edited by

Task: Add support for login with email which authenticates user via magic links.

Task Title

Task: Add support for login with email which authenticates user via magic links.

Task Description

Create a server action that requires an email from the user. This will find the userId that matches the email, or create a new user and obtain the new userId. A token is created from the userId using generateRandomString from lucia/utils and store it in a email-verification-token table in the Db. This will allow us to reuse an existing token for the user if it hasn't been expired.

Create an api endpoint which accepts this token as a search param. At this api route we validate the token and then authenticate the user.

Send an email with a link containing the token via email using Resend.

Epic Parent

Feature: User dashboard sidebar

Epic Title

Feature: User dashboard sidebar

Epic Description

The sidebar has the following parts:

The control panel

  • Has a workspace switcher tool - change the workspace or create a new one.
  • Search bar.
  • Quick notifications tool and a link to the notifications page.
  • A link to the user settings page.

Pinned documents

  • Pin upto four documents for quick access.
  • Shows only it's icons.

Workspace documents

  • Documents that are visible to all workspace participants.
  • The are organised into nested documents.

Shared documents

  • Documents that are visible only to specifically shared workspace participants.

Trash

  • Contains all the pages you delete.
  • You can drag and drop them in here.
  • You can also click on trash to search, view and restore these pages.

List of Tasks (Complete in order)

  1. Task: Setup the base sidebar component.
  2. Task: Create the Workspace documents view to the sidebar.
  3. Task: Add a pinned/favourites documents to the sidebar.
  4. Task: Add shared and private documents to the sidebar.
  5. Task: Add the control panel and trash to the sidebar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.