Thanks to visit codestin.com
Credit goes to github.com

Skip to content

๐ŸŒฑ Rolnopol - Application for learning and practicing test automation of GUI and API

Notifications You must be signed in to change notification settings

jaktestowac/rolnopol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

48 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Introduction

Rolnopol

Tip

๐Ÿ’ก Choose your language:

This application (called ๐ŸŒฑ Rolnopol) was prepared and developed only for testing purposes. It provides:

  • A graphical user interface (GUI)
  • REST API
  • Integrated Swagger documentation

The application includes features such as logic, resource management, authorization, statistics and charts. It is intentionally designed with deliberately bugs๐Ÿ› and challenges to simulate real-world project complexities.

๐ŸŒฑ Rolnopol is ideal for learning test automation, refining QA techniques, and practicing with scenarios encountered in diverse, real-world projects with diverse real-world scenarios.

Table of Contents

Features

๐ŸŒฑ Rolnopol is a realistic farming management application built specifically for practicing test automation in a real-world domain. It simulates complex business workflows while providing an architecture perfect for testing various automation scenarios.

๐Ÿ—๏ธ Architecture for Testing

  • Express.js Framework with modular middleware (authentication, rate limiting, logging)
  • Versioned REST APIs (v1/v2) for testing API evolution and compatibility
  • JSON File Database for easy data manipulation and test state control
  • Layered Architecture: routes โ†’ controllers โ†’ services โ†’ data access

๐Ÿงช Testing Scenarios & Challenges

  • Authentication & Authorization: tokens, role-based access, session management
  • API Testing: CRUD operations, data validation, error handling, rate limiting
  • Business Logic: Financial transactions, marketplace workflows, resource management
  • UI & Integration: Web interfaces, real-time updates, end-to-end workflows

๐ŸŽฏ Domain-Specific Testing Practice

  • Agricultural Business: Farm management, livestock operations, staff coordination
  • Financial Operations: Digital banking, payment systems, financial reporting
  • Data Processing: Weather integration, performance metrics, analytics

๐ŸŽฎ Learning Through Challenges

  • Intentional Bugs for debugging and error handling practice
  • Edge Cases requiring thorough test coverage
  • Progressive Difficulty from basic CRUD to complex workflows
  • Real-world Scenarios simulating production application behavior

This architecture provides a perfect playground for practicing modern test automation techniques while working with realistic business domains and complex system interactions.

Deployment

Instructions how to deploy presented service to various free hosting sites.

Deploy on Local

Requirements:

First use

Steps:

  1. Open the project root directory in cmd/terminal
  2. Clone the repository using git clone ...
    • this is the preferred way to use this application
  3. Run npm i
    • to install modules (don't use node.js global packages!)
  4. Run npm run start
    • to start ๐ŸŒฑ Rolnopol

The application will be available at http://localhost:3000

Startup Scripts

For convenience, the project includes several scripts to start the application in different environments. These scripts automatically navigate to the project root and keep the terminal window open if the application stops or crashes.

  • Windows (CMD): Run start.bat
  • PowerShell: Run .\start.ps1
  • Linux/macOS (Bash): Run ./start.sh
  • Linux/macOS (Zsh): Run ./start.zsh

For more details, see START_SCRIPTS.md.

Demo Users & Login Credentials

For testing and demonstration purposes, the application includes several pre-configured demo users. You can use these credentials to explore different features:

Email Password
[email protected] demo123
[email protected] brownPass123
[email protected] johndoe123
[email protected] janesmith456
[email protected] dev123456
[email protected] demoPass123

Note: These are demo credentials for local development and testing only. Passwords are stored in plain text for easier testing and account management.

Update version

If You are using zip package

Steps:

  1. Download zipped repository
  2. Unzip and replace Your local instance of ๐ŸŒฑ Rolnopol
  3. Run npm i in root directory
    • to install new modules
  4. Run npm run start
    • to start ๐ŸŒฑ Rolnopol

If You are using cloned repository

Steps:

  1. Open the project root directory in cmd/terminal
  2. Pull latest changes using git pull
  3. Run npm i
    • to install new modules
  4. Run npm run start
    • to start ๐ŸŒฑ Rolnopol

Update version if You have any changes (e.g. in database)

One possibility is to reset all Your local changes and pull new version.Using this method You will lose all Your local changes and data!

Steps:

  1. Open the project root directory in cmd/terminal
  2. Reset local changes and pull latest changes using:
    git reset --hard HEAD
    git pull
    
  3. Run npm i
    • to install new modules
  4. Run npm run start
    • to start ๐ŸŒฑ Rolnopol

Deploy to Render

Render - a popular Heroku-like PaaS with a free tier and a โ€œDeploy to Renderโ€ button for one-click deploys.

Deploy to Render

  • name your app
  • hit Apply
  • wait a while and click link to project Rolnopol
  • click link to open app (under project name and repository)
  • enjoy 750 free hours of service per month

When deploying the ๐ŸŒฑ Rolnopol application on Render, please be aware that the application may not function fully due to the limitations of the Render platform. However, we are making every effort to ensure the highest possible compatibility.

Deploy using Docker image

This method can be used:

  • locally
  • in CI/CD services (GitHub Actions, GitLab CI etc.)

Prerequisites:

On local environment:

  • latest Docker is installed

Running

Just run following command to get latest image:

docker run -p 3000:3000 -d jaktestowac/rolnopol

or specific version:

docker run -p 3000:3000 -d jaktestowac/rolnopol:1.0.24

Application should be running under http://localhost:3000/

Images are available at: ๐Ÿ‹ https://hub.docker.com/r/jaktestowac/rolnopol

Happy Automation!

We hope you'll have a great time testing and automating this application!

The challenges and features included are designed to help you grow your testing skills while having fun.

If you have any ideas for improvements or encounter any issues, please don't hesitate to open an issue on our GitHub repository.

Your feedback helps make ๐ŸŒฑ Rolnopol better for everyone!

๐Ÿ“ข Looking forward to your contributions and happy testing!

๐Ÿ” Back to top

๐Ÿ“ž Contact & Support

Feel free to reach out to us:


๐Ÿ“š Learning Resources

We have gathered a collection of resources to help you learn and master Playwright, both in Polish and English. Whether you're a beginner or an advanced user, these resources will help you enhance your skills and knowledge.

๐Ÿ‡ต๐Ÿ‡ฑ Polish Resources

๐Ÿ‡ฌ๐Ÿ‡ง English Resources

AI_Testers

Gain an edge by combining AI knowledge with the most popular tools in the IT market.
We'll show you how to accelerate with AI and build a professional test automation framework. ๐Ÿ˜‰


Happy testing and automation! ๐Ÿš€

jaktestowac.pl Team โค๏ธ๐Ÿ’š

PS. For more resources and updates, follow us on our website and GitHub.


Built with โค๏ธ๐Ÿ’š for the Playwright and test automation community

About

๐ŸŒฑ Rolnopol - Application for learning and practicing test automation of GUI and API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •