Skip to content
    Back to all Bounties

    Earn 5,000 ($50.00)

    Time Remainingdue 1 month ago
    Completed

    Debug and Launch Legacy JavaScript Application

    JayGupta26
    JayGupta26
    Posted 1 month ago
    This Bounty has been completed!
    @JayGupta26's review of @bigg-S
    5.0
    Average Rating
    Communication 5/5, Quality 5/5, Timeliness 5/5

    Bounty Description

    Overview

    We are offering a bounty for an experienced developer to modernize and launch a legacy JavaScript application. This project involves resolving dependency issues, fixing build and runtime errors, and ensuring the application functions correctly. The application uses a comprehensive tech stack and requires familiarity with several legacy technologies.

    Repository

    Abacollection on GitHub

    Tech Stack

    The repository utilizes several technologies and libraries, including:

    • Node.js: Backend runtime environment.
    • Koa.js: Web framework for building the backend API and web applications.
    • MongoDB: Database for storing application data.
    • Bree.js: Job scheduling library.
    • Pug: Template engine for generating HTML.
    • SCSS: CSS preprocessor for styling.
    • JavaScript (ES6): Scripting language for both frontend and backend logic.
    • Passport.js: Authentication middleware.
    • Nodemailer: Library for sending emails.
    • Gulp: Build tool for automating tasks.
    • Mocha: Testing framework.

    Detailed Breakdown of Each Component

    Root Directory

    • Configuration Files: Various configurations for tools and environments.
    • Main Scripts and Configuration: Entry points and configuration for the application and API servers.
    • Ansible: Scripts and configurations for managing infrastructure.

    app/

    • Controllers: API and web controllers using Koa.js.
    • Models: Mongoose models for interacting with MongoDB.
    • Views: Pug templates for generating HTML.

    assets/

    • CSS (SCSS): Styles for the web application.
    • JavaScript: Frontend scripts for client-side functionality.
    • Images: Static assets for the web application.

    config/

    • Configuration Files: Various settings for the application.

    emails/

    • Email Templates: Pug templates for sending emails.

    helpers/

    • Helper Functions: Utility functions for various tasks.

    jobs/

    • Job Scheduling: Define and schedule background jobs using Bree.js.

    routes/

    • Routes: Define API and web routes using Koa.js.

    test/

    • Testing: Define and run tests using Mocha.

    Problem Description

    The project involves the following issues that need to be addressed:

    1. Dependency Management: Resolve conflicts and compatibility issues with legacy dependencies, and update deprecated packages while ensuring functionality.
    2. Build Process: Fix issues in the build process involving Gulp, ESLint, and other tools to ensure the gulp build command completes successfully.
    3. JavaScript Rendering: Identify and fix syntax errors and rendering issues in JavaScript files to ensure all functionality works correctly in the browser.
    4. SCSS and Stylelint: Resolve Stylelint warnings and errors in SCSS files to ensure all SCSS files compile correctly.
    5. Configuration: Ensure ESLint and other configuration files are properly set up for the project, and update .eslintrc.js to use the correct ECMAScript version.

    Acceptance Criteria

    • The application builds successfully using the gulp build command without errors.
    • All JavaScript and SCSS files are linted without critical errors or warnings.
    • The application runs in the browser without rendering or functionality issues.
    • All dependencies are up-to-date and compatible with the project.
    • Detailed documentation of any changes made, including updates to dependencies, configuration files, and build scripts.

    Technical Details

    • Build Tools: Gulp, ESLint, Stylelint
    • JavaScript: CommonJS modules, ES2021 (ECMAScript 12)
    • SCSS: Stylelint configuration for SCSS linting
    • Dependencies: Legacy packages and libraries that need updating or replacement

    Additional Information

    • The GitHub repository is public and can be accessed here.
    • Clone the repository and run the existing build commands to understand the current issues.
    • Document any significant changes made to the codebase or configurations.

    We look forward to your contributions and are excited to see the application up and running smoothly!

    Copyright © 2024 Replit, Inc. All rights reserved.
    • twitter
    • tiktok
    • instagram
    • facebook

    Replit

    Programming languages

    • Python
    • JavaScript
    • TypeScript
    • Node.js
    • Nix
    • HTML, CSS, JS
    • C++
    • Golang