Tech Lead/Developer Challenge Tech Lead/Developer Challenge Overview This challenge is designed to provide an accurate representation of the day-to-day challenges faced by developers at Blueprint. We aim to assess your software engineering skills, problem-solving abilities, and how effectively you can contribute to a high-performance software team. Developing software collaboratively presents unique challenges, such as maintaining a consistent codebase and ensuring seamless integration of changes when multiple developers work on similar features. This challenge will evaluate how well you navigate these challenges while adhering to best practices in software development. Modern software applications are typically divided into a frontend and a backend. In this challenge, you will contribute to a project the Tech Team has been actively developing over the past year. Our tech stack consists of: Frontend: React Backend: Spring Boot + PostgreSQL You will be expected to work within this stack and follow industry best practices for software development. Blueprint Admin As Blueprint continues to grow, so does our need for efficient resource management. The Blueprint Admin platform aims to provide a comprehensive overview of the organization's current state. Through this dashboard, the Executive Board (E-board) and Tech Leads will be able to: Create and manage events Oversee AWS resources Track attendance Manage the organization's budget Challenge You must choose one of the issues listed below and implement a solution. Frontend Issues (Repository) Issue #38 Issue #35 Issue #34 Backend Issues (Repository) Issue #41 Issue #44 Issue #42 How to Contribute Follow these steps to fork the repository, make changes, and submit a Pull Request (PR). Fork the Repository Navigate to the repository you want to contribute to: Frontend: blueprint_admin Backend: blueprint_admin_backend Click on the "Fork" button in the top-right corner. This creates a copy of the repository in your GitHub account. Clone the Forked Repository After forking, clone the repository to your local machine: git clone https://github.com/{your-github-username}/blueprint_admin.git or for backend: git clone https://github.com/{your-github-username}/blueprint_admin_backend.git Remember the Tech Team will be working on the repos concurrently. Remember to pull from the origin constantly! Set Up the Development Environment Frontend Install dependencies: npm install Start the development server: npm start Backend Run the database using Docker docker-compose up --build Compile the service ./gradlew build Run the service ./gradlew bootRun If you have issues with any of the steps mentioned above, visit the troubleshoot section in the README.md Create a New Branch Before making changes, create a new branch: git checkout -b fix-issue-XX Replace XX with the issue number. Implement Your Solution Carefully read the issue description and implement the required feature or fix. Follow the existing code style and conventions. Write tests where applicable. Commit Your Changes After making your changes, commit them: git add . Push your branch to GitHub: git push origin fix-issue-XX Submit a Pull Request Go to the forked repository (Blueprint Admin or Backend). Click "Compare & pull request". Provide a clear PR description: Reference the issue number. Describe your changes. Mention any tests you wrote. Click "Create pull request". Submission Checklist Forked the repository Cloned the repository Set up the development environment Created a new branch Implemented the fix/feature Committed and pushed changes Submitted a pull request by 2/16 11:59 P.M If you have any questions please reach out to mmerlin@stevens.edu or ifarfand@stevens.edu. We also highly recommend attending this Thursday's (2/6) GBM in Babbio 320 at 9:15 P.M where we will cover a lot about pull requests and working effectively with git.