Back End Intern Assignment
Back End Intern Assignment
Objective:
Requirements:
User Management:
✓ Each user should have an email, name, and mobile number.
Expense Management:
✓ Users can add expenses.
2. Exact:
Scenario: You go shopping with 2 friends and pay 4299. Friend 1 owes 799,
Friend 2 owes 2000, and you owe 1500.
3. Percentage:
Scenario: You go to a party with 2 friends and one of your cousins. You owe
50%, Friend 1 owes 25%, and Friend 2 owes 25%.
Balance Sheet:
✓ Show individual expenses.
✓ Show overall expenses for all users.
✓ Provide a feature to download the balance sheet.
Deliverables:
Backend Service:
Design the backend service to handle user and expense management.
API Endpoints:
User Endpoints:
✓ Create user.
✓ Retrieve user details.
Expense Endpoints:
✓ Add expense.
✓ Retrieve individual user expenses.
✓ Retrieve overall expenses.
✓ Download balance sheet.
Data Validation:
✓ Validate user inputs.
✓ Ensure percentages in the percentage split method add up to 100%.
Documentation:
✓ Include setup and installation instructions.
✓ Write clear and concise code comments.
Evaluation Criteria:
1. Correctness: Functionality meets the requirements.
2. Code Quality: Code is clean, readable, and maintainable.
3. Documentation: Clear and comprehensive documentation.
4. Innovation: Creative and efficient solutions.
Bonus Points:
✓ Implement user authentication and authorization.
✓ Include error handling and input validation.
✓ Optimize performance for large datasets.
✓ Add unit and integration tests.
Submission:
Submit your project as a GitHub repository link.
Include a README file with instructions on how to set up and run the project.
Good luck! We look forward to seeing your creative and technical skills in action.