Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wesleybertipaglia/backend-challenges

A collection of coding challenges designed to enhance your back-end development skills.
https://github.com/wesleybertipaglia/backend-challenges

backend learning repository

Last synced: about 4 hours ago
JSON representation

A collection of coding challenges designed to enhance your back-end development skills.

Awesome Lists containing this project

README

        

# 🧑‍💻 Backend Challenges Repository

Welcome to the Backend Challenges Repository! This repository contains a series of backend development challenges designed to help developers improve their skills across various levels of expertise, from beginners to senior developers. Each challenge focuses on different aspects of backend development, including web services, microservices architecture, caching, queues, and more.

## 📚 Table of Contents

- [Getting Started](#getting-started)
- [Challenges](#challenges)
- [Beginner](#beginner)
- [Junior](#junior)
- [Middle](#middle)
- [Senior](#senior)
- [Contributing](#contributing)
- [License](#license)

## 🤖 Getting Started

To get started with a challenge:

1. Navigate to the appropriate level and select a challenge.
2. Follow the instructions provided in the challenge markdown file.
3. Implement the solution in your preferred programming language.
4. Test your solution thoroughly.
5. (Optional) Share your solution by creating a pull request to this repository.

## 🏆 Challenges

### 🏅 Beginner

| Title | Description | Link |
|---------------------------------|----------------------------------------------------------------------------|-------------------------------------------------------------|
| Hello World API | Develop a basic REST API that returns "Hello, World!" | [Link](./challenges/beginner/hello-world-api.md) |
| Echo API | Build an API that echoes back data sent via POST requests | [Link](./challenges/beginner/echo-api.md) |
| Number Generator Service | Develop an API that returns a random number | [Link](./challenges/beginner/service-number-generator.md) |
| Palindrome Checker Service | Build an API to check if a string is a palindrome | [Link](./challenges/beginner/service-palindrome-checker.md) |
| Password Checker Service | Build an API to check the strength and security of passwords | [Link](./challenges/beginner/service-password-checker.md) |
| Password Generator Service | Develop a service to generate secure passwords | [Link](./challenges/beginner/service-password-generator.md) |
| Time Zone Service | Create a Service to retrieve time zone information | [Link](./challenges/beginner/service-time-zone.md) |
| IP Address Tracker Service | Develop a Service to track and geolocate IP addresses | [Link](./challenges/beginner/service-ip-address-tracker.md) |
| Zip Code Lookup Service | BuBuild a service to look up location information based on zip codes | [Link](./challenges/beginner/service-zipcode-lookup.md) |
| Calculator API | Create an API to perform basic arithmetic operations | [Link](./challenges/beginner/api-calculator.md) |
| Temperature Converter API | Create an API to convert temperatures between units | [Link](./challenges/beginner/api-temperature-converter.md) |
| Currency Converter API | Build an API to convert currencies between different countries | [Link](./challenges/beginner/api-currency-converter.md) |
| To-Do List API | Develop an API to manage a simple to-do list | [Link](./challenges/beginner/api-todo-list.md) |
| Contact Form API | Develop an API that handles sending messages from a contact form | [Link](./challenges/beginner/api-contact-form.md) |
| Weather API | Create an API that returns weather information | [Link](./challenges/beginner/api-weather.md) |

### 🥉 Junior

| Title | Description | Link |
|---------------------------------|----------------------------------------------------------------------------|-------------------------------------------------------------|
| URL Shortener Service | Create an API for shortening and managing URLs | [Link](./challenges/junior/service-url-shortener.md) |
| Email Service | Build an API to send and manage emails | [Link](./challenges/junior/service-email.md) |
| Cryptography Service | Develop a service for encrypting and decrypting data | [Link](./challenges/junior/service-cryptography.md) |
| Notification Service | Create an API for sending and managing notifications | [Link](./challenges/junior/service-notification.md) |
| Authentication Service | Implement user authentication and password recovery | [Link](./challenges/junior/service-authentication.md) |
| Payment Processing Service | Develop an API to handle payments and transactions | [Link](./challenges/junior/service-payment-processing.md) |
| Data Normalization Service | Develop a service to normalize data | [Link](./challenges/junior/service-data-normalization.md) |
| Image Processing Service | Create an API for processing and transforming images | [Link](./challenges/junior/service-image-processing.md) |
| File Storage Service | Build an API to store and manage files | [Link](./challenges/junior/service-file-storage.md) |
| Logging Service | Create a service for logging and monitoring application activities | [Link](./challenges/junior/logging-service.md) |
| User Profile API | Build an API for managing user profiles | [Link](./challenges/junior/api-user-profile.md) |
| Task Management API | Create an API for managing tasks and projects | [Link](./challenges/junior/api-task-management.md) |
| Event Scheduling API | Develop an API to schedule and manage events | [Link](./challenges/junior/api-event-scheduling.md) |
| Inventory Management API | Create an API to manage inventory items and stock levels | [Link](./challenges/junior/api-inventory-management.md) |
| Fitness Tracker API | Develop an API to track workouts and fitness activities | [Link](./challenges/junior/api-fitness-tracker.md) |
| Movies API | Create an API to manage movies and reviews | [Link](./challenges/junior/api-movies.md) |
| Recipe API | Build an API for managing recipes and ingredients | [Link](./challenges/junior/api-recipe.md) |
| Forum API | Develop an API for managing forum topics and replies | [Link](./challenges/junior/api-forum.md) |
| Blog API | Create an API to manage blog posts and comments | [Link](./challenges/junior/api-blog.md) |
| E-commerce API | Develop an API to manage products, orders, and customers | [Link](./challenges/junior/api-ecommerce.md) |
| Dockerfile | Write a Dockerfile for containerizing an application | [Link](./challenges/junior/container-dockerfile.md) |
| Docker Compose | Create a Docker Compose file for managing multi-container applications | [Link](./challenges/junior/container-docker-compose.md) |
| CI Build Pipeline | Create a continuous integration pipeline for building applications | [Link](./challenges/junior/ci-build-pipeline.md) |
| CI Testing Pipeline | Implement a continuous integration pipeline for testing applications | [Link](./challenges/junior/ci-testing-pipeline.md) |
| CI Build and Testing Pipeline | Integrate build and testing pipelines for continuous integration | [Link](./challenges/junior/ci-build-testing-pipeline.md) |
| CD Setup Pipeline | Create a continuous deployment pipeline for setting up applications | [Link](./challenges/junior/cd-setup-pipeline.md) |
| CD Deployment Pipeline | Implement a continuous deployment pipeline for deploying applications | [Link](./challenges/junior/cd-deployment-pipeline.md) |

### 🥈 Middle

| Title | Description | Link |
|---------------------------------|----------------------------------------------------------------------------|-------------------------------------------------------------|
| Advanced E-commerce API | Build a comprehensive e-commerce API with caching and queuing | [Link](./challenges/middle/advanced-ecommerce-api.md) |
| Microservices E-commerce | Develop an e-commerce system using microservices architecture | [Link](./challenges/middle/microservices-ecommerce-api.md) |
| Real-time Chat API | Create a real-time chat API with WebSocket and message queue | [Link](./challenges/middle/real-time-chat-api.md) |
| Subscription Management API | Build an API to manage user subscriptions and billing | [Link](./challenges/middle/subscription-management-api.md) |
| Content Management System API | Develop an API to manage content with user roles and CDN integration | [Link](./challenges/middle/cms-api.md) |
| Payment Gateway Integration | Integrate a payment gateway with webhook handling | [Link](./challenges/middle/payment-gateway-integration.md) |
| Notification Service | Create a service to handle notifications via email and push notifications | [Link](./challenges/middle/notification-service-api.md) |
| Analytics API | Build an API to track user behavior and analytics | [Link](./challenges/middle/analytics-api.md) |
| Task Scheduling API | Develop an API to schedule and manage recurring tasks | [Link](./challenges/middle/task-scheduling-api.md) |
| Distributed Caching System | Integrate a distributed caching system like Redis | [Link](./challenges/middle/distributed-caching-api.md) |
| Message Queues | Implement message queues for asynchronous communication | [Link](./challenges/middle/message-queues.md) |
| Caching | Develop a caching mechanism for API performance | [Link](./challenges/middle/caching.md) |
| Load Balancer | Implement load balancing for traffic distribution | [Link](./challenges/middle/load-balancer.md) |

### 🥇 Senior

| Title | Description | Link |
|---------------------------------|----------------------------------------------------------------------------|-------------------------------------------------------------|
| Microservices Architecture | Build an application using microservices architecture | [Link](./challenges/senior/microservices-application.md) |
| Event-Driven Architecture API | Develop an event-driven architecture with event store | [Link](./challenges/senior/event-driven-api.md) |
| Serverless Architecture API | Create a serverless API using AWS Lambda or Azure Functions | [Link](./challenges/senior/serverless-api.md) |
| GraphQL API | Build a flexible data retrieval API with GraphQL | [Link](./challenges/senior/graphql-api.md) |
| API Gateway and Service Mesh | Implement an API Gateway and Service Mesh for microservices | [Link](./challenges/senior/api-gateway-service-mesh.md) |
| CQRS and Event Sourcing API | Develop CQRS and Event Sourcing for a complex domain | [Link](./challenges/senior/cqrs-event-sourcing-api.md) |
| Distributed Tracing API | Implement distributed tracing for microservices | [Link](./challenges/senior/distributed-tracing-api.md) |
| Machine Learning Pipeline API | Build an ML pipeline for data ingestion, training, and inference | [Link](./challenges/senior/ml-pipeline-api.md) |
| Real-Time Data Processing API | Develop an API for real-time data processing | [Link](./challenges/senior/data-processing-api.md) |
| Multi-Tenant Architecture API | Create a multi-tenant app with tenant isolation and security | [Link](./challenges/senior/multi-tenant-api.md) |


## 💻 Contributing

We welcome contributions from the community! If you have a new challenge idea or improvements for existing ones, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or improvement.
3. Make your changes and commit them with clear and descriptive messages.
4. Push your changes to your fork.
5. Open a pull request to the main repository.

Please ensure that your contributions align with the project's goals and coding standards.

## 📜 License

This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.

Happy coding! 🎉