Giter Site home page Giter Site logo

notesapp's Introduction

NotesApp

NotesApp is a Google Keep clone built using MERN stack. It is supposed to be a bit more advanced take on a classic "NotesApp".

Features

  • Basic CRUD operations on front-end
  • Basic CRUD operations on back-end
  • Changing colors of the notes
  • Toast notifications
  • Authentication with token refreshing
  • Archiving notes
  • Pinning notes
  • Adding tags to the notes & filtering by them
  • Search functionality
  • Changing order via drag & drop
  • Checklists inside notes
  • Masonry layout for notes
  • A somewhat responsive layout, of course

Screenshots

Main desktop view Editing note modal Mobile view + adding note

Setup

First you need to install packages:

npm run install-modules

You also have to create .env file in the server directory with your own MongoDB credentials and a secret key. You can find a sample .env file in server/.env.sample - you can just copy it, rename it to .env and provide your own values.

Then to start the app you have to run two consoles, one for front-end and one for back-end. There are commands for the root directory:

npm run start:server

And on the second console:

npm run start:client

Log-in credentials

The server application seeds automatically if there are no users in the database. You can find the most current seed data in server/utils/seed folder, but one of these credentials should work:

Username: [email protected]
Password: testing
Username: [email protected]
Password: testing

Environment variables

Variable name Description Required?
MONGO_USER Username for your MongoDB connection string. Yes
MONGO_PASSWORD Password for your MongoDB connection string. Yes
SECRET_KEY A secret key that will be used to sign and verify JWTs. Yes
REFRESH_SECRET_KEY A secret key that will be used to sign and verify JWT refresh tokens. Yes
FORCE_SEED If you set it to "true", the database will be cleaned up before seeding. No

Technologies

Front-end

  • React
    • React Router
    • PropTypes
    • CSS Modules
  • SCSS
  • react-dnd

Back-end

  • Node.js
  • Express
  • MongoDB
  • Mongoose

notesapp's People

Contributors

kacperbudny avatar

Watchers

James Cloos avatar Kostas Georgiou avatar  avatar

notesapp's Issues

Run errors

Hello, thank you for writing this! I'm following the instructions and running into a few errors:
On the server side:

> cd ./server && npm run start


> [email protected] start
> nodemon app.js

[nodemon] 2.0.16
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node app.js`
(node:26171) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Error: querySrv ESERVFAIL _mongodb._tcp.cluster0.opgre.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (node:internal/dns/callback_resolver:45:19) {
  errno: undefined,
  code: 'ESERVFAIL',
  syscall: 'querySrv',
  hostname: '_mongodb._tcp.cluster0.opgre.mongodb.net'
}
[nodemon] clean exit - waiting for changes before restart

On the client side:

node:internal/modules/esm/resolve:302
  return new ERR_PACKAGE_PATH_NOT_EXPORTED(
         ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/tokenize' is not defined by "exports" in /home/binitshah/Projects/NotesApp/client/node_modules/postcss-safe-parser/node_modules/postcss/package.json
    at exportsNotFound (node:internal/modules/esm/resolve:302:10)
    at packageExportsResolve (node:internal/modules/esm/resolve:649:9)
    at resolveExports (node:internal/modules/cjs/loader:596:36)
    at Module._findPath (node:internal/modules/cjs/loader:673:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:1135:27)
    at Module._load (node:internal/modules/cjs/loader:990:27)
    at Module.require (node:internal/modules/cjs/loader:1237:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/home/binitshah/Projects/NotesApp/client/node_modules/postcss-safe-parser/lib/safe-parser.js:1:17)
    at Module._compile (node:internal/modules/cjs/loader:1378:14) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

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.