Skip to content

Keep track of online stuff, which you may want to view later. Made using MERN stack.

License

Notifications You must be signed in to change notification settings

amand33p/to-view-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ToViewList | MERN

A MERN stack app to keep track of online stuff, which you may want to view later.

Demo

Deployed on Netlify (front-end) & Heroku (back-end)

Built using

Front-end

Back-end

  • Node.js - Runtime environment for JS
  • Express.js - Node.js framework, makes process of building APIs easier & faster
  • MongoDB - Database to store document-based data
  • Mongoose - MongoDB object modeling for Node.js
  • JSON Web Token - A standard to secure/authenticate HTTP requests
  • Bcrypt.js - For hashing passwords
  • Validator.js - For validation of JSON data
  • Mongoose Unique Validator - Plugin for better error handling of unique fields within Mongoose schema
  • Dotenv - To load environment variables from a .env file

Features

  • Authentication (login/register with email-password)
  • Add/update/delete entries
  • Add title, link, description, tags & type of link
  • Bookmark important stuff (by 'starring' it)
  • Mark the already read/watched items as 'viewed'
  • Search entries by title, description or tags
  • Filter entries by type (article, video or other), or by starred or viewed
  • Click on tags to show all entries containing the tag you clicked on.
  • Sort entries by oldest first, newest first, A-Z (alphabetical) or Z-A (reverse alpha.)
  • Toast notifications for actions such as adding new entry, or 'starring' it etc.
  • Dark mode toggle w/ local storage save
  • Responsive UI for all screens

Screenshots

Desktop

Desktop-1 Desktop-2

Mobile

Mobile-1 Mobile-2

Usage

Env variable:

Create a .env file in server directory and add the following:

MONGODB_URI = "Your Mongo URI"
PORT = 3005
SECRET = "Your JWT secret"

Client:

Open client/src/backendUrl.js & change "backend" variable to "http://localhost:3005"

cd client
npm install
npm start

Server:

Note: Make sure that you have installed 'nodemon' as global package.

cd server
npm install
npm run dev