Skip to content

BinaryStudioAcademy/thread-mobile

Repository files navigation

ThreadMobile

Description

Thread - this is mobile app with a ready-made architecture and structure, a connected basic technology stack and start-up functionality, designed for individual practice of students.

The main theme of the project is a social network similar to Twitter.

The main idea of the project is to onboard students with our vision of how a real project should look like from the inside, and give them the opportunity to individually explore how the architecture and structure of the project works, see its possible configurations, try to deeply understand someone else's code.

Technologies

The main frameworks and libraries used in the project are listed here. A complete list of technologies used for each part of the project is in the package.json file.

Common

  1. ESLatest
  2. Git
  3. REST API
  4. npm
  5. ESLint
  6. React Native
  7. Redux
  8. React Navigation
  9. dayjs
  10. React Hook Form
  11. joi

Installation

  1. Get the latest stable version Node.js (LTS). Note: npm will be installed automatically. Check the correctness of the installation: to do this, run in the command line (terminal):

    node -v  // for checking Node.js version
    npm -v // for checking npm version
    
    
  2. Setup the environment by following React Native documentation

  3. Install Git.

  4. Clone project`s repo:

    git clone git@github.com:BinaryStudioAcademy/thread-mobile.git
    
  5. Create a repo at Bitbucket and carry out further development there.

  6. In the root folder create a file .env and copy the contents of the file .env.example into it.

    Note: file .env contains real project keys and should not be saved to the repository.

    Replace in file .env key values to real.

    If you are developing for ios platform replace 10.0.2.2 with localhost

  7. In the root of the project install all the dependencies:

      npm run install
    
  8. After installing the packages, in the root of the project, you need to run the command to git-hooks:

      npx simple-git-hooks
    

    Now, for each of your commits, the linter will be launched and check your code.

  9. To start the project in the root folder you need to run the following command:

    npm start
    
  10. Open a new terminal and from the root folder run one of the following commands:

    npm run-android
    
    npm run-ios
    

    Note: if you are developing for ios platform install pods before

    npx pod-install
    

Backend

The backend must be taken from this repository ThreadJS. Instructions for launching and configuring can be found in the readme of this repository.

PS

Tasks can be completed for any of the Android or iOS platforms, when submitting a task, indicate which platform you used.

The entire list of tasks can be found on the board Trello in the column To Do. You can find some comments or attachments to the task in the task description. You need to copy the board for yourself and work on it. This will help you track the entire process of your work, and we will determine what is already ready. The task will be considered completed if it is fully completed and the feature works. Let's look at its implementation and evaluate whether the logic was distributed correctly in the project. This will show how much you understand the architecture. We will also comment on the code..

The main result of the work can be determined by how deeply you were able to understand the project and understand it, and how far you have advanced in personal learning.

Links:

  1. Repo.
  2. Trello.

FAQ:

  1. What frameworks, libraries and their features can be used?

Complete freedom of action, feel free, use whatever you want.

  1. Is it possible to change the database (add columns, tables)?

It is possible, and in some tasks it is even necessary. To do this, you need to create new migrations. Existing migrations cannot be changed!!! Please do not forget it.

  1. Error: Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style You need to change the autocrlf setting to input or false in the Git settings.
git config --global core.autocrlf false

You may need to pull the project again.

  1. When registering an application on the Gyazo website, you must provide Authorization callback URL

Use https://www.google.com/.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published