Giter Site home page Giter Site logo

canvasbird / canvasboard-backend Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 15.0 435 KB

Canvasboard Backend built on NodeJSπŸš€

Dockerfile 0.71% JavaScript 98.38% Shell 0.91%
backend hacktoberfest hacktoberfest-2021 hacktoberfest2021 javascript mongodb nodejs

canvasboard-backend's People

Contributors

akashmrc98 avatar allcontributors[bot] avatar asishraju avatar ayonpal avatar goliakshay357 avatar kajol-kumari avatar lumos-ap avatar navaneethnivol avatar neha-kothari avatar nidhibudhraja avatar seethamraju avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

canvasboard-backend's Issues

Make ER diagram from existing schema

Documentation Needed πŸ“ƒ

Canvasboard backend had a well-defined ER diagram, but with constant changes, we didn't get time to update our ER diagram to the latest schema that is being used right now.

Its Reverse Engineering Time; 😎
MongoDB schema is well defined here: APIs\models\collections, it would be great to have an updated ER diagram for the same.

Prefered Tool: Draw.io

note: don't worry about the relation between other tables (collection as we call it the NoSQL world)

Postman API Documentation

Documentation Needed πŸ“ƒ

Canvasboard Backend has around 30 APIs, some of the postman docs can be found here as APIs\apiDocs but they are either not properly documented or missing most of the APIs.

Would be great to have a proper well-documented postman collection for all the APIs that canvasboard uses, also attaching some resources below to get you started with the postman documentation. πŸ‘‡πŸ»

Postman Official Blog
Youtube Tutorial

Add distroless base image and layer optimization

Requirements

  1. Adding distroless base image,
    Comment: Adding distroless base image ensures shell is not accessible and hence more secure.
  2. Layer optimization for quick and efficient builds.
    Comment: Leveraging cache for faster builds

Better Looking Email Templates

Problem 🚩

  • Canvasboard sends a verification email to the user upon every new registration and also when the user clicks on forgot password.
  • Currently, they look something like this. πŸ‘‡πŸ»

image

image

  • This email body is written in HTML; existing code can be found here APIs\controllers\authCtrl.js in forget() & register() controllers

Solution Wanted βœ…

  • Come up with a better looking HTML template for the same
  • Use inline css for a more attractive template
  • BONUS: you can use gif too πŸ˜…

Implementing Folder Structure

Currently, all files that the user has is directly attached to the user, we want to implement a folder structure,
user--will have-->folders--will have-->files

This will help in keeping the file management clean, so eventually, CURD APIs for the folders are needed and modifying files relationship with the user.

files--will have a relationship with-->folders--will have a relationship with-->user

Issues template

Issues Template for backend same as which is in the frontend.

Add Forgot Password / Reset Password functionality

Canvasbird uses both vanilla email_id/password login along with google sign in using passport-js strategy,

Whenever a new user registers we send him a confirmation email to reduce spam email registration, we also want a forgot password functionality to be added for obvious reasons and keeping the UX in mind.

Local Setup

It's always better to have a script which can setup local environment.

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.