Work Dashboard is a client/server application for a simple productivity tracker.
- Clone repo down to local
- run "npm install" to install dependencies
- run "npm run dev" to concurrently start server(index.ts) and client(vite)
- Vite should Auto open client once started(--open flag)
- CSS:
- SCSS
- tailwindcss
- Javascript:
- TypeScript
- nodejs
- ReactJS
- MongoDB (NoSQL approach)
- Login Route (/login)
- Registration Route (/register)(Protected)
- Home Route (/)
- Dashboard Route (/dashboard)(Protected)
- TaskView Route (/taskview)(Protected)(Admin only)
- EmployeesView Route (/employeesView)(Protected)
- Employee Route (/employeesView/:id)(Protected)(Admin only)
- Edit Profile Route (/editProfile)(Protected)
- CatchAll Route (*)
Following are the NPM Libraries used in this web app
- Express - Web app framework (REST APIs)
- Concurrently - Running of multiple concurrent commands
- mongoose - MongoDB ORM for express and nodejs
- bcryptjs - Password hashing and comparing package
- fetchAPI - Javascript client library that can be used to access and manipulate HTTP / REST endpoints
- Fontawesome/React-icons
- Redis/connect-redis - In memory data structure store to cache twitter api responses
- cookie-parser - cookie managing tool, used for auth
- dotenv - Environment variable support
- react-router-dom - React router support for basic react routing
- Tailwindcss - Tailwindcss support for CSS classes
- SASS - SCSS support/SASS compiler
- React-hot-toast - Customisable and fully controllable toast notifications
- helmet - Security Tool to safeguard your Express/Web App from Vulnerabilities
- nodemon - Express listening reactoring
- React-Query - Complete caching and reactive HTTP responses client library
- Recharts - React Charts Library
- React-minimal-pie-chart - React pie chart library
- Express-session - Session management for express