Uniscan is a full-stack web application that enables users to explore Ethereum wallet transactions efficiently. The application processes historical transaction data through a distributed queue system, providing real-time updates and optimized query performance.
Key Features and Technical Achievements:
Architected a scalable backend using NestJS, Prisma, and PostgreSQL to handle high transaction throughput
Implemented distributed job processing with Redis and BullMQ for efficient historical transaction batch processing
Built a responsive frontend using Vite, React Query, and Tailwind CSS with optimized data fetching and caching
Developed comprehensive test coverage including unit tests and end-to-end tests
Set up CI/CD pipeline using GitHub Actions for automated testing and deployment
Containerized the entire application stack using Docker Compose for both development and production environments
The application features a robust architecture that separates concerns between the frontend and backend:
Backend Stack:
NestJS for the API framework
Prisma as the ORM
PostgreSQL for data persistence
Redis for caching and queue management
BullMQ for distributed job processing
Frontend Stack:
Vite as the build tool
React Query for efficient data fetching
Tailwind CSS for styling
Check out the Github repository here and watch the demo video here.