Drum Roulette is a web application built using Next.js and TypeScript on the frontend. Its purpose is to facilitate the random assignment of US Military band percussionists to instruments for specific jobs.
To get a local copy of the project up and running, follow these steps:
git clone [https://github.com/RubySpeeders/Drum-Roulette]
cd Drum-Roulette
yarn install
cd client
yarn install
yarn dev
http://localhost:3000
The backend is in Spring Boot and PostgreSQL. The spring boot application serves resources to the front end from the database. To begin development, you'll need:
[ ] Install Java 17
[ ] Install PostgreSQL
[ ] Initialize the database in backend/band-assignments/database
cd backend/band-assignments/database
touch start.sh
nano start.sh
or sudo nano start.sh
#!/bin/bash
export DATABASE_OWNER=america
export DATABASE_PASSWORD=godbless
export DATABASE_USER=puertorico
export DB_URL=jdbc:postgresql://localhost:5432/band
export DATABASE_NAME=band
chmod +x create_db.sh
./create_db.sh
[ ] ./start.sh
Enter in your password for postgres each time you are prompted. If all goes well, this process should generate an initial database.
To ensure a consistent code style across the project, we use Prettier as our code formatter. Please make sure to have the Prettier extension installed in your editor and configure it to match the project's Prettier settings.
If you prefer to manually format your code, you can run the following command before committing your changes:
npx prettier --write .
This command will format all files in the current directory and its subdirectories according to the Prettier configuration.
Please avoid committing code with formatting inconsistencies, as it helps maintain a clean and readable codebase.
Imports in .tsx
files should follow the following order:
Contributions are welcome! If you'd like to contribute to this project, please make sure to follow the code formatting guidelines defined by Prettier. This ensures consistent code style and makes it easier to review and merge your contributions. If you'd like to contribute to Drum Roulette, please follow these guidelines:
git checkout -b DR-[issue-number]-feature-name
git commit -m 'Add some feature'
git push origin DR-[issue-number]-feature-name
Our front-end application is automatically deployed through the following process:
Version Control System:
Continuous Integration:
Build Process:
main
branch, Next.js compiles the application code, assets, and dependencies into a deployable format.Deployment Trigger:
main
branch. This is achieved through the integration between Next.js and Vercel.Deployment to Vercel:
main
branch. The deployment includes updating the live version of the application.While our current deployment process is triggered on each push to the main
branch, we are considering the implementation of a deployment schedule for more controlled releases. The schedule might involve deploying updates at specific times or on particular days to align with project milestones or user expectations.
This project is licensed under the MIT License.
If you have any questions or suggestions regarding the Musician Personnel Assignment Project, please feel free to reach out: