This project focuses on the development of a rate limiter system implemented in Python along with various micro projects. The rate limiter system is designed to regulate the number of requests per time interval, with a flexible user interface for toggling between different limiting techniques and customizing request limits. The project also includes the implementation of microservices using different technologies to determine the optimal solution. Future goals involve deploying the system in a clustered, cloud-based environment.
Client/
├── tsconfig.json
├── tailwind.config.ts
├── postcss.config.js
├── package.json
├── package-lock.json
├── next.config.mjs
├── README.md
├── .gitignore
├── .eslintrc.json
├── src/
│ ├── favicon.ico
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx
└── public/
├── next.svg
└── vercel.svg
server-py/
├── .gitignore
├── .python-version
├── README.md
├── __main__.py
└── requirements.txt
Once both the client and server environments are set up, interact with the rate limiter system via the client-side user interface. Detailed instructions on interacting with specific components can be found in their respective directories.
Sean Ippolito
Sean Celik
Sean Pearce
Contributions to the project are welcome! Please follow the guidelines outlined below. For any questions or suggestions, feel free to open an issue or reach out to the project maintainers.
This Next.js project is initialized with create-next-app and serves as the frontend component of the rate limiter system. Refer to the individual README file within the Client directory for more detailed information on setup, usage, and deployment.
The server-side Python application implements the rate limiter backend. Refer to the individual README file within the server-py directory for setup instructions, goals, and additional project details.