All Projects → petermikitsh → myethereumapp

petermikitsh / myethereumapp

Licence: MIT license
Web client for viewing data from the Etherscan API

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to myethereumapp

Nextjs Vercel Firebase
Next.js app using API routes to connect with Firestore.
Stars: ✭ 133 (+638.89%)
Mutual labels:  now, zeit
Now Client
A JavaScript wrapper for the Now Instant API
Stars: ✭ 199 (+1005.56%)
Mutual labels:  now, zeit
Vercel Builder
Vercel Builder for Nuxt.js
Stars: ✭ 437 (+2327.78%)
Mutual labels:  now, zeit
Micro Medium Api
Microservice for fetching the latest posts of Medium with GraphQL.
Stars: ✭ 138 (+666.67%)
Mutual labels:  now, zeit
Now Storage
Use Now static deployments to upload and store files.
Stars: ✭ 91 (+405.56%)
Mutual labels:  now, zeit
Now Env
Use `now.json` environment variables while developing
Stars: ✭ 219 (+1116.67%)
Mutual labels:  now, zeit
Stage Ci
Automatic deploy previews for your PRs using zeit.co/now.
Stars: ✭ 132 (+633.33%)
Mutual labels:  now, zeit
Meteor Now
Instantly deploy your Meteor apps with `meteor-now`
Stars: ✭ 339 (+1783.33%)
Mutual labels:  now, zeit
Vercel Rust
Community based builder for using rust on the now/zeit platform
Stars: ✭ 168 (+833.33%)
Mutual labels:  now, zeit
Now Clear
A utility to delete all zeit now instances that aren't aliased
Stars: ✭ 12 (-33.33%)
Mutual labels:  now, zeit
Now Pipeline
Simple CI pipeline with goal to deploy new version at Zeit Now cloud if tests pass
Stars: ✭ 143 (+694.44%)
Mutual labels:  now, zeit
Deploy.now
One click deploys to △ now
Stars: ✭ 121 (+572.22%)
Mutual labels:  now, zeit
Vercel Php
▲ Vercel PHP runtime • vercel-php • now-php • 🐘+ λ = ❤
Stars: ✭ 429 (+2283.33%)
Mutual labels:  now, zeit
Create React App Now
Hello, create-react-app, meet Zeit's awesome now.sh service.
Stars: ✭ 137 (+661.11%)
Mutual labels:  now, zeit
Micro Proxy
[DEPRECATED] Simplest proxy server for microservices
Stars: ✭ 358 (+1888.89%)
Mutual labels:  now, zeit
Now Builders
Official Now Builders created by the ZEIT team
Stars: ✭ 483 (+2583.33%)
Mutual labels:  now, zeit
now-course
Proyecto para el curso de Now.sh en Platzi
Stars: ✭ 19 (+5.56%)
Mutual labels:  now, zeit
Covid19 Brazil Api
API com dados atualizados sobre o status do COVID-19 🦠
Stars: ✭ 300 (+1566.67%)
Mutual labels:  now, zeit
Jwt Example
Playing with user registration, login/logout, auth, etc using JWTs, serverless functions & faunadb as the data store.
Stars: ✭ 22 (+22.22%)
Mutual labels:  now, zeit
Now Logs
realtime logging for now - https://logs.now.sh
Stars: ✭ 103 (+472.22%)
Mutual labels:  now, zeit

Demo Site: https://myethereum.app

myethereumapp

Build Status Coverage Status dependencies Status

Web client for viewing data from the Etherscan API.

Getting Started

This application requires a locally-running MySQL instance in development mode. By default, the application will attempt connecting to the following location: mysql://localhost:3306/etherscan-local. Once the MySQL server is available, run the following:

npm install
npm run db:migrate
npm start

Your browser will open when the bundle is ready.

Architecture, design decisions, etc

  • Server: NodeJS server using FeathersJS for quickly building REST and real-time APIs. Data is persisted in Google Cloud Platform's Cloud SQL service. Sequelize is used as the ORM and to manage the database table structure with migration scripts.

  • Client: Single-page React application, using Redux for state management. The Material Design React components used in this project were implemented by the author. These components were designed with a focus on performance, accessibility, and cross-browser support. Color palette and font choices inspired by the look-and-feel of the Apple Design Award winning Robinhood app. The following separation of concerns is applied:

    • The src/client/components directory contains React components primarily concerned with the DOM.

    • The src/client/routes directory contains React components that integrate with react-router and redux state management. No DOM-specific logic lives in this directory.

  • Testing: When shipping enterprise applications, you need confidence in quality. The unit tests provide extensive coverage of the codebase, allowing developers to add or augment existing features, without fear of introducing a regression. Unit tests are written with Jest for parallelized, fast execution.

  • Developer experience: If you want to move quickly, you need to be effectively utilizing developer tools. This project implements hot module reloading on both the client and server. When server code changes, the server is restarted. When client code changes, react-hot-loader patches them into the browser (no hard page refresh). Seeing is believing!

  • Automated deployments: Once unit tests and the build succeed, Travis automatically deploys the application to Zeit, a PaaS for NodeJS applications. The application is accessible at https://myethereum.app.

Out of scope

  • Locking down the API. In a true production environment, you'd want to rate limit requests, add pagination, and require authentication to reach the API endpoints.

  • Server-side rendering. If you look at the response from the server root (e.g., GET /), you'll notice the body is sparse, as the DOM is populated by React on the client. This can be less-than-ideal for SEO.

  • Simplified workflows. In this project, you'll see I've pushed commits directly to master. In enterprise environments with multiple collaborators, I usually follow a variation of the standard branching model, where features are built on a new branch.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].