Coder Social home page Coder Social logo

kristinahranovska / project-aqua-track Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 2.0 7.11 MB

AquaTrack is a convenient and modern water tracker that allows users to easily keep track of water consumption, set personal goals and track their progress on the way to them.

Home Page: https://project-aqua-track.vercel.app

JavaScript 70.24% HTML 0.28% CSS 29.48%
aos-animation axios-react clsx date-fns i18next-react mui react-helmet-async react-hook-form react-hooks react-hot-toast react-modal react-persist react-responsive react-router reactour redux yup-validation

project-aqua-track's Introduction

AquaTrack FrontEnd

Short Description

AquaTrack FrontEnd is a convenient water tracker that allows users to register via email/password or Google account. All data is securely stored on our server. On the homepage, users can add, edit, and delete their water intake while tracking their progress towards their daily goal. We automatically set a drinking goal but also allow users to customize their recommended intake. Our program calculates the daily percentage of water consumed and displays progress towards the goal.

Features

  • User registration and authentication via email/password or Google account.
  • Secure storage of user data on the server.
  • CRUD operations for water intake tracking.
  • Automatic and customizable daily water intake goals.
  • Calculation and display of daily water intake percentage.
  • Progress tracking towards the set goal.

Technologies

Core Technologies

  • Express: Fast, unopinionated, minimalist web framework for Node.js.
  • MongoDB (via Mongoose): MongoDB object modeling tool designed to work in an asynchronous environment.
  • JWT (JSON Web Tokens): Compact, URL-safe means of representing claims to be transferred between two parties.
  • Axios: Promise-based HTTP client for the browser and Node.js.
  • bcrypt: Library to hash passwords.

API and Validation

  • Joi: Schema description language and data validator for JavaScript objects.
  • Swagger-jsdoc: Allows you to write OpenAPI specs using JSDoc comments.
  • Swagger-ui-express: Swagger UI middleware for Express.

Templating

  • EJS: Simple templating language that lets you generate HTML markup with plain JavaScript.

State Management and Effects

  • Redux Toolkit: Opinionated, batteries-included toolset for efficient Redux development.

Libraries for UI

  • Material-UI: React components for faster and easier web development.
  • Emotion/react: CSS-in-JS library for styling React applications.
  • Emotion/styled: Styled components for Emotion.
  • @hookform/resolvers: Resolvers for React Hook Form.

Additional Libraries

  • Cloudinary: Image and video management in the cloud.
  • Date-fns: Modern JavaScript date utility library.
  • Moment-timezone: Timezone support for JavaScript Date object manipulation.
  • Multer: Node.js middleware for handling multipart/form-data, primarily used for file uploads.
  • UUID: Simple, fast generation of RFC4122 UUIDs.
  • @aos: Animate on Scroll library.
  • clsx: A tiny utility for constructing className strings conditionally.
  • overlayscrollbars: Customizable overlay scrollbars.
  • react: A JavaScript library for building user interfaces.
  • react-dom: Entry point for React rendering on the web.
  • react-helmet-async: Async version of React Helmet.
  • react-hook-form: Performant, flexible and extensible forms with easy-to-use validation.
  • react-hot-toast: React toast notifications.
  • react-i18next: Internationalization framework for React.
  • react-icons: Popular icon packs for React projects.
  • react-loader-spinner: A flexible and customisable loader component for React.
  • react-modal: Accessible modal dialog component for React.
  • react-redux: Official React bindings for Redux.
  • react-responsive: Media queries in React for responsive design.
  • react-router-dom: DOM bindings for React Router.
  • recharts: Redefined chart library built with React and D3.
  • redux-persist: Persist and rehydrate a Redux store.
  • yup: JavaScript schema builder for value parsing and validation.
  • vite: Next generation frontend tool that sets up quickly.

Developers

  • @KristinaHranovska - implementation of WelcomeSection, registration, authentication, Google authentication, password recovery, international localization addition, animations
  • @izzwerg - implementation of UserSettingsModal
  • @Me1nychuk - implementation of MonthInfo component, display of statistical water consumption data per month, onboarding functionality for new users, assistance in token refresh implementation, data updates using Redux
  • @Olena-Ihnatenko - LogOut modal window
  • @anastasiia-kushch - implementation of static part of AdvantagesSection, display of registered users count
  • @sno0wi - implementation of DailyInfo component
  • @Sw1tlana - implementation of WaterModal (addition and editing)
  • @peychma - implementation of DeleteWaterModal
  • @bezkagoit - implementation of WaterMainInfo component
  • @Rybailo - implementation of UserPanel component

Links

project-aqua-track's People

Contributors

kristinahranovska avatar sno0wi avatar sw1tlana avatar izzwerg avatar me1nychuk avatar peychma avatar anastasiia-kushch avatar bezkagoit avatar olena-ihnatenko avatar rybailo avatar

Watchers

 avatar

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.