Skip to content

M4XPRD/hexlet-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Hexlet Projects

  1. 🎭 Brain Games

  2. πŸ‘Ύ Difference Calculator

  3. πŸ“° RSS Reader

  4. πŸ’¬ Online Chat

🎭 Brain Games

Hexlet tests, CodeClimate check and linter status:

Actions Status linter-check Maintainability

What is this all about?

Β«Brain gamesΒ» is a set of 5 different games which are similar to popular mobile applications for brain pumping. Each game asks questions that need to be answered correctly.

The game is finished, if you answer correctly three times in a row. If the answer is wrong the game stops, and you'll have a message asking to try to play again once more. The list of games:

β€’ Calculator. It's about arithmetic expressions that need to be calculated.

β€’ Progression. It's about finding missing numbers in a sequence of numbers.

β€’ Determining an even number.

β€’ Determining the greatest common divisor.

β€’ Determining a prime number.

Installation

To run this game make sure you have Node.js v.16.8.0 or later.

Here's the quick guide, if everything is set up:

# Step 1 β€” clone this repository
$ git clone https://github.com/M4XPRD/hexlet-projects.git

# Step 2 β€” proceed to project-lvl1 folder
$ cd frontend-project-lvl1

# Step 3 β€” install the dependencies
$ make install

# Step 4 β€” install the packages
$ sudo npm link

# Step 5 β€” use the special command to run the game
$ brain-games

The list of all commands:

#This first command just welcomes you
$ brain-games

#These 5 commands below start the actual games
$ brain-calc

$ brain-progression

$ brain-even

$ brain-gcd

$ brain-prime

Games demonstarions via asciinema:

β€’ Calculator: use brain-calc command

asciicast

β€’ Progression: use brain-progression command

asciicast

β€’ Determining an even number: use brain-even command

asciicast

β€’ Determining the greatest common divisor: use brain-gcd command

asciicast

β€’ Determining of a prime number: use brain-prime command

asciicast

πŸ‘Ύ Difference Calculator

Hexlet tests, CodeClimate check and linter status:

Actions Status project-check Maintainability Test Coverage

Description:

This is the utility, which shows the difference between two files. The output can be shown with different formats.

List of supported extensions:

β€’ JSON (.json file extension)

β€’ YML/YAML (.ymlor .yaml file extensions)

List of output formats:

β€’ stylish is standart format, which will show the difference between files with + and - signs.

β€’ plain is human-readable variant, where you can see the string-like output of each line, that has any changes.

β€’ json is variant, which is similar to stylish. But instead of + and - you will see AST-tree-like system with statuses of keys and their types.

Installation:

# Step 1 β€” clone this repository
$ git clone https://github.com/M4XPRD/hexlet-projects.git

# Step 2 β€” proceed to project-lvl2 folder
$ cd frontend-project-lvl2

# Step 2 β€” install the dependencies
$ make install

# Step 3 β€” install the packages
$ sudo npm link

List of commands in terminal:

Important note β€” in order to use this utility correctly, you should move to fixtures folder in terminal, where you can upload and use your files.

# Help window
gendiff -h

# All commands below should run from __fixtures__ folder!

# Show difference with standart (stylish) format
gendiff file1.json file2.json

# Show difference with stylish format
gendiff --format stylish file1.json file2.json

# Show difference with plain format
gendiff --format plain file1.json file2.json

# Show difference with json format
gendiff --format json file1.json file2.json

Project demonstarions via asciinema:

Difference between two flat JSON files:

asciicast

Difference between two flat YML / YAML files:

asciicast

Difference between two nested files (stylish format):

asciicast

Difference between two nested files (plain format):

asciicast

Difference between two nested files (json format):

asciicast

πŸ“° RSS Reader

Hexlet tests and linter status:

Actions Status Maintainability

Description:

RSS Reader is a service for aggregating RSS feeds that makes it easy to read a variety of sources, such as blogs or your favourite news. It allows you to add an unlimited number of RSS feeds, update them and add new entries to the whole stream.

How to use it:

β€’ Find a blog or news feed, which you prefer to read

β€’ Use link-to-RSS converters to make your blog/news link suitable for RSS Reader

β€’ Make sure the link is a file with .xml markup

β€’ Add this link to the feed

β€’ If you need to change the language, press RU/EN button in the upper-right corner

β€’ All downloaded feeds would constantly update every 5 seconds, so you won't miss anything πŸ‘€

β€’ That's it!

Installation:

# Step 1 β€” clone this repository
$ git clone https://github.com/M4XPRD/hexlet-projects.git

# Step 2 β€” install the dependencies
$ make install

# Step 3 β€” install the packages
$ sudo npm link

# Step 4 β€” make new bundle using production mode
$ make production

How it looks:

Screenshot_1 Screenshot_2 Screenshot_3 Screenshot_4

πŸ’¬ Online Chat

Hexlet tests and CodeClimate maintainability:

Actions Status Maintainability

Description:

Hexlet Chat is very simplified Slack-like real-time chat app built with React/Redux, AJAX, REST, websockets, React (with Hooks), Redux (@reduxjs/toolkit) and Formik.

Features:

β€’ Chat supports two languages to choose from: Russian and English. Just find a flag icon above in the top section

β€’ You can send messages and manage channels (except 'general' and 'random')

β€’ You won't miss anything with fly-off notifications, which appear from the right

β€’ Chat will always tell you, if you're lack with network connection

β€’ Profanity filter included!

Installation:

All commands should run from root:

# Step 1 β€” clone this repository
$ git clone https://github.com/M4XPRD/hexlet-projects.git

# Step 2 β€” install the dependencies
$ make install

# Step 3 β€” install the packages
$ sudo npm link

# Step 4 β€” start both frontend and backend from the root folder
$ make start
# If Step 4 didn't work β€” use an alternative way:

# Step 5 β€” initialize frontend in the first terminal
$ cd frontend && make start

# Step 6 β€” initialize backend in the second terminal
$ make start-backend

How it looks:

1 4 2 3 5 6

About

πŸŽ“ All projects i've made at Hexlet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published