Drum Root
A React Web App for Creating and Sharing Drum Loops. See Drum Root API for Back End Service.
Features
- Create Drum Loops
- Record Custom Sounds
- Save and Share Drum Loops With Others
Tech
Front End
- React - JavaScript UI Library
- Next.js - Server Side Rendering
- Styled Components - Styling
- Jest - JavaScript Testing Framework
- Puppeteer - A Node Library for Controlling Headless Chrome or Chromium. Used for end to end Testing(Coming Soon)
- Storybook - Tool for Developing UI Components in Isolation
Back End
- Express - Web Framework for Node.js
- PostgreSql - Relational Database(Coming Soon)
- Redis - In-Memory Data Structure Store used for Authorization(Coming Soon)
Team
- Project Lead - rgavinc
- Front End Lead - marcoseoane
- Back End Lead - yashShelatkar
- QA Lead - zbc
- Database Lead - Aneesh
- Designer/ Styling Lead - linconkusunoki
Past Team Lead Members
Running Locally in Development Mode
The backend code should be running in order for the front end to behave correctly. See Drum Root API.
To get started with the front end, fork the repository and run the following commands:
npm install
npm run dev
Building and Deploying in Production
If you wanted to run this site in production, you should install modules then build the site with npm run build
and run it with npm start
:
npm install
npm run build
npm start
You should run npm run build
again any time you make changes to the site.
Running Storybook
Storybook is a way to view the components in isolation. To view Drum Root's storybook, run the following command:
npm run storyboook
Running Test in Development Mode
If you are the first time to start the tests, run the following command to ensure all related packages installed:
npm install
To get started with Unit Test, run the following command:
npm run test
To get started with Integration/End to End Test, run the following command:
npm run test:e2e