A lightweight REST Client inspired by Postman β a web application that allows users to send HTTP requests, view responses, manage variables and review request history. Built with Next.js, TypeScript and Firebase for authentication and data storage.
π‘ Developed as a team project during the RS School React course.
The REST Client provides an intuitive interface for testing and exploring APIs.
Users can:
- Send requests using any HTTP method
- Edit headers and request body
- View generated request code in multiple languages
- Keep track of request history
- Manage custom variables
- Work securely with authentication and private routes
- Authentication & Authorization β user registration and sign-in via Firebase
- Internationalization (i18n) β multi-language interface
- REST Client β request editor with method, URL, headers and body
- History & Analytics β view previously executed requests
- Variables β manage and use custom variables
- Code Generation β generate request code in various languages
- Error Handling β user-friendly error notifications
- Modern UI/UX β fully responsive, themeable interface built with Tailwind CSS and shadcn/ui
| Technology | Badge |
|---|---|
| Next.js | |
| React | |
| TypeScript | |
| Firebase | |
| Tailwind CSS | |
| shadcn/ui | |
| Vitest | |
| React Testing Library |
-
Clone the repository
git clone https://github.com/alexspearsi/rest-client-app.git -
Navigate to the project folder
cd rest-client-app -
Install dependencies
npm install -
Create a
.envfile in the root directory and add your Firebase credentials:NEXT_PUBLIC_FIREBASE_API_KEY=<your-api-key> NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=<your-auth-domain> NEXT_PUBLIC_FIREBASE_PROJECT_ID=<your-project-id> NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=<your-storage-bucket> NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=<your-messaging-sender-id> NEXT_PUBLIC_FIREBASE_APP_ID=<your-app-id> NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=<your-measurement-id> FIREBASE_PROJECT_ID=<your-project-id> FIREBASE_CLIENT_EMAIL=<your-client-email> FIREBASE_PRIVATE_KEY=<your-private-key> -
Run the project
npm run dev -
Open http://localhost:3000 in your browser to view the application.
The following scripts are available in the project:
npm run dev # Start the development server.
npm run build # Builds the project for production
npm run start # Preview the production build locally.
npm run test # Runs tests using Vitest.
npm run test:coverage # Runs tests and generates a coverage report using Vitest.
npm run lint # Runs ESLint and automatically fixes fixable issues.
npm run format:fix # Formats files using Prettier.
npm run prepare # Setup Husky hooks.
- π±βπ» Team Lead: Aliaksandr Strelchanka
- π±βπ» Developer: Mikhail Il'in
- π±βπ» Developer: Olga Dubodel