Skip to content

Latest commit

 

History

History
98 lines (83 loc) · 3.47 KB

README.md

File metadata and controls

98 lines (83 loc) · 3.47 KB

Note It Down

Table of contents

  1. Description
  2. Demo
  3. Screenshots
  4. Architecture Overview
  5. API Documentation
  6. Installation and Usage

Description

It is a full-stack note-taking web application built with React on the frontend and Django/Django-Rest-Framework on the backend.

Features:

  • Light/dark mode (depending on your device settings)

  • Responsive layout

  • JWT authentication

  • Users:

    • Users can:
      • Signup/Login/Logout
      • Update their email & password
      • Delete their account
    • Currently loggedin user info is displayed on the home page
  • Notes:

    • Users can:
      • Create a note
      • Set priority of a note
      • View all notes at once or filter notes by priority (high/medium/low)
      • View a specific note
      • Download/export a note as a pdf
      • Update/edit a note
      • Delete a note
    • A rich text editor is provided for taking down the notes

Demo

Check the video demo at https://youtu.be/ME37aFqTa20

Screenshots

Architecture Overview

API Documentation

All the endpoints are listed below. However, to view the details of the endpoints, visit Note It Down Api Docs.

  • Users:

    • api/users/all/ - GET
    • api/users/user/ - GET, PUT, DELETE
    • api/users/user/signup/ - POST
    • api/users/user/login/token/ - POST
    • api/users/user/login/token/refresh/ - POST
    • api/users/bulkdelete/ - DELETE
  • Notes:

    • api/notes/all/ - GET
    • api/notes/note/{noteId}/ - GET, PUT, DELETE
    • api/notes/note/ - POST
    • api/notes/bulkdelete/ - DELETE

Installation and Usage

General

  • Requirements:
    • node >= 16.14.0
    • npm >= 8.3.1
    • python >= 3.8
    • pip >= 21.3.1
  • git clone https://github.com/AI-14/note-it-down.git - clones the repository
  • cd note-it-down

For backend folder

  • Setup the project as per General sub-section
  • cd backend
  • py -m venv yourVenvName - creates a virtual environment
  • yourVenvName\Scripts\activate.bat - activates the virtual environment
  • pip install -r requirements.txt - installs all modules
  • python manage.py makemigrations & python manage.py migrate - migrates all the tables to db
  • python manage.py createsuperuser - creates a superuser
  • python manage.py runserver - runs the server

For frontend folder

  • Setup the project as per General sub-section
  • cd frontend
  • npm install or npm i - installs all packages
  • npm install --save-dev - installs devDependencies
  • npm start - starts the app

NOTE: First run backend server (it will run on http://127.0.0.1:8000), then run frontend app (it will run on http://127.0.0.1:3000)

Makefile

You need to have make installed in your machine

  • Setup the project as per General sub-section
  • make build-backend - builds the backend
  • make build-frontend - builds the frontend
  • make run-backend - runs the backend
  • make run-frontend - runs the frontend (make sure you open another cmd to run this command)

NOTE: Use make help to see all the commands