Skip to content

Coinsynch is a website with a dynamic landing page and interactive dashboard using React.js. The project incorporates features like API data retrieval, user authentication, form validation, and data visualization. The layouts are based on Figma mockups, and the project emphasizes practical proficiency in modern front-end technologies.

Notifications You must be signed in to change notification settings

Brenosalv/coinsynch

Repository files navigation

CoinSynch

Table of Contents

Introduction

Welcome to CoinSynch! This project encompasses the development of an engaging landing page and a dynamic dashboard interface, seamlessly integrated with an authentication mechanism.

Techs

For the front-end side, I used React.js with Next.js 13.4, Tailwind CSS, Shadcn-ui, Jest and Typescript. For the back-end side, I used json-server as a fake API and fetched data from coinapi.io.

Features

  • Real-time cryptocurrency data sourced from coinapi.io
  • Carousel-based top banner for enhanced visual appeal
  • Dynamic display of "Top Cryptos" from the REST API
  • Intuitive "View more +" functionality for streamlined content browsing
  • Newsletter form with interactive API interactions and loading states
  • User-friendly "Sign in" dialog with email validation and password toggling
  • Comprehensive "Sign Up" process with mandatory fields and acceptance checkboxes
  • Smooth transition between "Sign Up" and "Sign in" dialogs based on user interaction

Dashboard

  • Personalized user information display sourced from REST API
  • Convenient "Logout" option within the top section
  • Interactive sidebar menu with expand and minimize capabilities
  • Dynamic content rendering driven by API data
  • Aesthetically formatted "Balance in US$" representation
  • Data-driven "Daily Variation" graph based on API data
  • Detailed "My Wallet" section displaying API-fetched information
  • Effortless interaction with the "Add Crypto" dialog, dynamically populated
  • Immediate updates to "My Wallet" upon cryptocurrency addition
  • Seamless interaction with the "Transfer Crypto" dialog
  • Intuitive handling of coin removal from the wallet

For a comprehensive visual representation, please consult the detailed Figma layouts. CoinSynch embodies the convergence of sophisticated design and robust functionality.

Layout

You can view the project layout in Figma through this link.

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v12 or higher)
  • npm (v6 or higher)

Installation

Clone this repository to your local machine:

git clone https://github.com/your-username/coinsynch.git

Navigate to the project directory:

cd coinsynch

Usage

To start the client side of the project, run:

npm run dev

OBS: Add the coinapi.io API key in a .env.local file in the root folder as follow: NEXT_PUBLIC_COIN_API_KEY=

To start the server side of the project, run:

npm run start:json-server

The fake API implemented with json-server will be available at http://localhost:5000.

Access the CoinSynch application by opening your web browser and navigating to http://localhost:3000.

Happy syncing!

About

Coinsynch is a website with a dynamic landing page and interactive dashboard using React.js. The project incorporates features like API data retrieval, user authentication, form validation, and data visualization. The layouts are based on Figma mockups, and the project emphasizes practical proficiency in modern front-end technologies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published