iamvikash.me

Thu Feb 09 2023

Urban Culture (Web & Backend)

Urban Culture (Web & Backend)

Urban Culture is India's leading Online platform for beauty needs at home. Launched in 2020, This platform enables customer to book highly trained and certified beauty professionals at affordable price. As a company, Urban Culture is constantly evolving into newer and better forms. Urban Culture is running operations in more than 10 cities with world class trainers.

Urban Culture uses a robust technology stack to enhance its service delivery. Next.js is used for frontend development for their website. Node.js and Express.js powers the backend along with Firebase and Firestore handle real-time data synchronization and storage needs, while GCP ensures high availability and performance for cloud services.
Flutter is used to develop it's multiple mobile apps, providing a consistent experience to users and partners on Android devices. Docker is utilized for containerization and streamlining deployment of website, while Sanity serves as the headless CMS for it's blog's content management .


Tasks I've been involved in.

Frontend (Website)

Responsible for the entire frontend development process, from initial design to final deployment.

  • Technologies Used: Leveraged modern web technologies including Next.js, JavaScript (ES6+), Docker, Sanity and responsive frameworks such as TailwindCSS and MaterialUI.

  • Design Integration and Responsiveness: Integrated custom designs and UI/UX principles to ensure a user-friendly interface and engaging user experience. Ensured the website is fully responsive across various devices, including desktops and mobile phones.

  • Performance Optimization and Cross-Browser Compatibility: Optimized website performance through minification of CSS and JavaScript files, image optimization, and lazy loading techniques. Ensured cross-browser compatibility to provide a seamless experience regardless of the browser used.

  • Testing, Debugging and Deployment: Conducted thorough testing, including unit tests, integration tests, and manual testing to identify and fix bugs before launch. Also, Managed the deployment process, ensuring the website was securely hosted and updated regularly on GCP.

Backend

Responsible for the creation and maintenance of various backend systems, from ideation to final deployment.

  • Key Technologies:

    • Node.js: Utilized Node.js for building fast and scalable network applications, leveraging its non-blocking I/O model to handle concurrent requests efficiently.
    • Firestore: Integrated Firestore, Google's NoSQL document database, for storing and syncing data between users in real-time, enhancing the scalability and performance of applications.
    • Google Cloud Platform (GCP): Made extensive use of GCP services, particularly Cloud Functions, for serverless computing, allowing for automatic scaling and cost efficiency without managing servers.
  • Brief Of Key Features Implemented:

    • Slot Availability System: Engineered a system (which is using multiple APIs) which finds out the slots that are available for user based on user's location and considering partner's availability.
    • Booking System: Re-Engineered the existing booking system to make it compatible to slots Availability System.
    • Leave Management System: Developed the backend of Leave Management System that automate the leave process of partners by giving them a feature directly in their App where they can mark all types of leave anytime.
  • Security and Performance: Ensured the security and performance of backend systems by implementing best practices, including secure coding patterns, regular audits, and optimizing database queries.

  • Deployment and Maintenance: Oversaw the deployment of backend systems to production environments, utilizing CI/CD pipelines for continuous integration and delivery. Also responsible for ongoing maintenance and updates to ensure system reliability and uptime.

  • Collaboration and Communication: Actively collaborated with QA engineers, and other stakeholders to bridge gaps between backend functionalities and user-facing features.