Lyre - is the mentoring project created to inspire you to play some music, learn Apollo and GraphQL. Look on this medium post about gymnasion mentor academy.
- Create react app - (Scaffold)
- React - (UI Framework)
- GraphQL(GraphCool) - (Web Data API)
- Apollo - (GraphQL Client)
- Webpack - (Build tool)
- Redux - (State Management)
- Node.js(Heroku) - (Web Server)
- Express - (Web App Server)
- Babel - (JS Transpiling)
- ESLint - (JS Best Practices/Code Highlighting)
- Jest - (Tests)
Front End
- Declarative UI - (react)
- Functional State Management - (redux)
- GraphQL Fragment Colocation - (react-apollo)
Server
- Universal JS - (node & express)
- Declarative GraphQL Schema - (react-tools)
- Use GraphCool as a service for hosting GraphQL
- Hosted in Heroku
Dev/Test
- Hot Module Reloading - (webpack)
- Snapshot Testing - (jest)
- Package Install - (npm v.5)
- JS Best Practices - (eslint)
You can download and run the repo with one command to rule them all:
git clone https://github.com/gymnasion/lyre.git && cd lyre && npm install && npm start
Running the app in dev mode is fully featured including hot module reloading:
npm install
npm start
To run in production mode:
npm run build && npm start
The project has zero configuration thanks to Create react app.
npm test
This project uses Jest and can do snapshot testing of React components. Whenever a component is changed, please update the snapshots using npm test -- -u
or jest --updateSnapshot
.
Pull requests are welcome. File an issue for ideas, conversation or feedback.
After you ★Star this project, join us @gymnasion on Github. We are looking for more attendees, mentors and ideas. Thanks to @FanQueen, @barsukov for participating