Back to all Bounties
Earn 5,000 ($50.00)
due 1 month ago
Completed
Debug and Launch Legacy JavaScript Application
JayGupta26
Details
Applications
4
Discussion
This Bounty has been completed!
@JayGupta26's review of @bigg-S
5.0
Communication 5/5, Quality 5/5, Timeliness 5/5Bounty 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
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:
- Dependency Management: Resolve conflicts and compatibility issues with legacy dependencies, and update deprecated packages while ensuring functionality.
- Build Process: Fix issues in the build process involving Gulp, ESLint, and other tools to ensure the
gulp build
command completes successfully. - JavaScript Rendering: Identify and fix syntax errors and rendering issues in JavaScript files to ensure all functionality works correctly in the browser.
- SCSS and Stylelint: Resolve Stylelint warnings and errors in SCSS files to ensure all SCSS files compile correctly.
- 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!