Code Monkey home page Code Monkey logo

sounds-of-middle-earth's Introduction

An interactive map of Tolkien's Middle-earth that provides you the songs and sounds for over 50 regions and unique locations

image image image

Build

To build the project and run the dev server you can run

  1. Install the dependencies

    npm install

  2. Start the dev server

    npm run start

  3. Open the application in your browser

    localhost:8080

Contact

Feel free to get in touch!

Credits

Music

Technologies

  • React
  • TypeScript
  • Vite
  • Node
  • AWS
  • Terraform
  • Serverless
  • Jest
  • CircleCI
  • ESLint

sounds-of-middle-earth's People

Contributors

dependabot[bot] avatar eddieeldridge avatar melaniedrevet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sounds-of-middle-earth's Issues

Separate out the backend and frontend into separate directories

The backend and frontend implementations should be separated out into two different directories.

  • Each project should have it's own dependencies and infrastructure code
  • Each project should have it's own package.json file with the appropriate information
  • The CI/CD pipeline will have to be updated to accommodate this change

Create a global .scss file that contains some colours to use

If we want consistency in terms of design and theme, we should create a .scss file that declares some reusable colours that are easily implemented in other stylesheets.

  • The colour palette should be appropriate for LOTR (pastels and muted colours)
  • The names of the colours should make sense to whoever is implementing them
  • The colours should be easily importable into any other .scss file

Add a loading spinner

As the map is quite large and we are using an image overlay layer from Leaflet for the map, it can take quite long to load

  • The spinner should cover and hide the map and pins until the image is fully loaded
  • The spinner should be appropriate and LOTR themed, it can be custom or generated online
  • It should gracefully fade away when loading is completed

Add front-end tests

Need to add some tests for the front-end with the existing Jest setup or with something like Cypress.

We can add this as part of the CI build at a later stage.

Add a basic back-end

To handle the sending of SNS notifications and handling some basic API calls, we need to add some sort of basic backend.

  • Infrastructure should be written in Terraform
  • Preferably use Lambda functions to keep costs low
  • Try out Express.js
  • Deployment of backend changes should be done in the CI/CD pipeline

Update package.json

The package.json is still using the information from the boilerplate we used

  • It should contain information specific to the project
  • The tags should be correct
  • The frontend and backend should have their own package.json files

Write some basic documentation

We should write some basic documentation on how to get started with the project

  • Build steps
  • Test steps
  • Contribution guidelines

Add Day/Night toggle

It would be cool if we could add a day/night toggle.

  • At night, the background would be dimmed and a color filter would apply to the map
  • At day, the background would not be dimmed and no colour filter would be applied.
  • Day would be the default
  • The user should be able to toggle this from the UI with a switch

Create a header/logo

It would be nice to create a basic header/logo for the site that we can display on the Readme and in the top left of the expandable window.

  • It should be transparent
  • It should consist of the words 'Sounds of Middle-earth'

Add quotes to the footer on pages

Once the following PR get's merged, we should call the lotr-api to get some nice LOTR quotes to display at the bottom of the page, preferably in the footer and with some nice styling.

Add credits to the credits page

We should credit any people who created things we are using on the site

  • We should include links to each artists page
  • We should credit the makers of the videos
  • We should credit the maker of the map

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.