johnnycopes / atocha

Monorepo for personal projects 🛠️
1 stars 1 forks source link

Atocha

This is a monorepo containing several of my applications and libraries. Technologies used:

  1. Nx (monorepo)
  2. TypeScript (language)
  3. Angular (front-end framework)
  4. Firebase (real-time database + hosting)
  5. Netlify (hosting)
  6. Jest (unit testing)
  7. Cypress (integration / e2e testing)
  8. Storybook (component workbench)

Applications

Globetrotter

A geography app featuring a country explorer and a configurable quiz. Test yourself on national flags, capitals, or country names from any part(s) of the world you like and receive a score based on your performance.

It has no back-end (at least for now), but uses both the REST Countries API for country data and the MediaWiki API for country summary data.

Menu Matriarch

A kitchen management app where you can add your favorite dishes, group them into meals, and plan your weekly menus. It uses Firebase for authentication and the database.

Lorenzo

A dictionary app for the board game Lorenzo il Magnifico. All the game data is hard-coded and it uses the browser's LocalStorage API for state management.

Spirit Islander

A setup generator for the board game Spirit Island by R. Eric Reuss. Spirit Island is a modular game with many different configurations that add interesting variety and challenge. This tool removes the burden of having to calculate these configurations manually by instantaneously generating randomized game setups tailored to players' prefences.

Shared libraries

Generic, well-tested collections of code. Minimally opinionated for maximum reusability.

Core

  1. data-access: framework-agnostic helpers for common data management functionality.
  2. ui: generic, customizable Angular components.
  3. util: framework-agnostic TypeScript utility functions and classes.

Firebase

  1. data-access: abstractions for interacting with Firebase.

Tree

  1. ui: generic Angular components to render trees of any height with selectable nodes.
  2. util: framework-agnostic TypeScript logic to transform tree state and count data within a given tree.

Sandbox

  1. ui: Angular components that are under construction or are used for experiments/learning.
  2. util: framework-agnostic functionality not currently used in any application, but might be useful in the future.