This is a small FastAPI application with a few intentional bugs. The goal of this assessment is to evaluate your ability to debug code, your understanding of web development concepts, and your knowledge of version control.
- Do Not Close/Create Issues: You should not close/create any issues, even after submitting a pull request. Issues will remain open for assessment by the maintainers.
To get started, you will need to have Python 3.8+ and Git installed on your machine.
First, you will need to fork this repository to your own GitHub account. You can do this by clicking the "Fork" button at the top right of the repository page.
Next, you will need to clone your forked repository to your local machine. You can do this by running the following command in your terminal:
git clone https://github.com/YOUR_USERNAME/backend_test.gitBefore you start working on an issue, you should create a new branch for that issue. This will help you keep your changes organized and separate from the main branch.
git checkout -b [your-name]-issue-<issue_number->For example, if you are working on issue #3, you would run:
git checkout -b [your-name]-issue-3To set up the development environment, you will need to install the dependencies listed in the requirements.txt file. You can do this by running the following command in your terminal:
pip install -r requirements.txtBefore you start making any changes, you should run the tests to see the failures. You can do this by running the following command in your terminal:
pytestThis will show you which tests are failing and will give you a starting point for your debugging.
Now you can start working on an issue. You can find the list of issues in the tickets.md file in the root of the repository. Each ticket corresponds to an issue on GitHub.
Once you have fixed an issue, you should commit your changes with a clear and descriptive commit message. Your commit message should reference the issue number that you are working on.
git add .
git commit -m "Fix: Resolve issue #<issue_number> - <short_description>"For example:
git commit -m "Fix: Resolve issue #3 - Fix database session handling"Next, you will need to push your changes to your forked repository.
git push origin issue-<issue_number>Finally, you can open a pull request to the main repository. In your pull request, you should include a detailed description of the changes you made and how they address the issue. You should also link your pull request to the issue by including the issue number in the pull request description (e.g., "Closes #3").
We will be assessing you on the following criteria:
- Your thought process: How you approach debugging and problem-solving.
- Your knowledge of version control: Your ability to use Git and GitHub effectively.
- The quality of your code: The clarity, correctness, and efficiency of your code.
- Your communication skills: Your ability to communicate your ideas and work effectively.
- Be respectful and professional in all communications.
- Ask questions if you are unsure about anything.
- Review the codebase and documentation to familiarize yourself with the project.
Thank you for contributing!
Good luck!