This project is a fun and welcoming space for developers of all skill levels to explore Perl and Raku. We provide weekly challenges to encourage learning, collaboration, and knowledge sharing. Whether you're an expert or a curious beginner, you'll find challenges to suit your skillset. We believe in fostering a supportive community where everyone can learn from each other. Feel free to ask questions, share your progress, and help fellow challengers on their coding journey.
- Weekly challenges
- Perl Review
- Raku Review
- Dancer2 (Perl): A lightweight and powerful web framework written in Perl. It allows for rapid development and provides features like routing, templating, database access, and more.
- MySQL: A popular relational database management system (RDBMS) used for storing and managing structured data.
- Javascript
- Template Toolkit: A templating engine for Perl that allows for separating presentation logic from the application code. This project uses ".tt" files for dynamic HTML generation.
-
Use git to clone this repository
git clone https://github.com/ChallengeForge/TheWeeklyChallenge.git
To ease development processes, we are using Docker
to effortlessly build and run the backend code for this project. Follow these straightforward steps to start the development server:
-
Navigate to the root directory of the project
$ cd TheWeeklyChallenge
-
Build the Docker image
$ docker build -t pwc .
-
Run the Docker image on your local machine
$ docker run -t pwc
-
All set! The development server should now be accessible at http://127.0.0.1:4000.
We welcome contributions to The Weekly Challenge! If you have an idea for a new feature, want to fix a bug, or improve the website, please feel free to create a pull request. Refer to the CONTRIBUTION GUIDE for more details
This project is licensed under the Artistic License 2.0
license. Please refer to the LICENSE file for details.
- Install all of the following modules below
To run the database for this project, you'll need to install the following Perl modules :
-
Install DBIx::Class: This module provides a convenient abstraction layer over your database.
-
Install Dancer2::Plugin::Database: This module integrates the Dancer2 web framework with your database.
This code snippet is configured to utilize Perl::Critic for static code analysis with the strictest severity level (brutal
) and the highest verbosity level (11
). It's designed to enforce coding standards and best practices by analyzing Perl code against default Perl::Critic policies.
- Make sure you have Perl::Critic installed. If not, you can install it via CPAN or your preferred package manager.
- Ensure that the
.perlcriticrc
file is present in your project directory with the following configurations:- Severity level set to
brutal
- Verbosity level set to
11
- Severity level set to
- Clone or download the code snippet to your local machine.
- Navigate to the directory containing the code.
- Ensure that your Perl scripts are also present in the same directory or its subdirectories.
- Run Perl::Critic with the provided configurations by executing the following command in your terminal:
perlcritic . your_perl_script.pl
Replace your_perl_script.pl
with the name of the Perl script you want to analyze.
- To run PerlCritc on all the Perl files in a drectiory i.e. files with ".pl" or ".pm" extenstions. Run the following command in your root directory terminal:
perlcritic .
- The
.perlcriticrc
file included in this repository is preconfigured to use the default Perl::Critic policies. - No custom policies are added beyond the defaults.
- The severity level is set to
brutal
, indicating the strictest enforcement of coding standards. - The verbosity level is set to
11
, providing the highest level of detail in the analysis output.
Ensure that the following dependencies are met:
- Perl::Critic
These dependencies should be installed and configured appropriately.
- Dancer2::Plugin::Database
This module integrates the Dancer2 web framework with your database.