ita-social-projects / StreetCode

MIT License
19 stars 9 forks source link
hacktoberfest hacktoberfest-accepted2023

Streetcode

This is a Back-end part of our Streetcode project. Front-end part: https://github.com/ita-social-projects/StreetCode_Client

Vision

The largest platform about the history of Ukraine, built in the space of cities.

Mission

To fill the gaps in the historical memory of Ukrainians.

Build Status Coverage Status Github Issues Pending Pull-Requests

Quality Gate Status Coverage Bugs Code Smells Security Rating

Table of Contents


Installation

Required to install

Environment

environmental variables

ADMIN_PASSWORD

Clone

Clone this repo to your local machine using:

https://github.com/ita-social-projects/StreetCode

Or if your have an associated SSH key:

git@github.com:ita-social-projects/StreetCode.git

Setup

1. Change connection string

How to run local

Run the Streetcode project than open your browser and enter https://localhost:5001/swagger/index.html url. If you had this page already opened, just reload it.

How to connect to db locally

  1. launch SQL Server management Studio
  2. In the pop-up window:
    • enter "localhost" as the server name;
    • select "windows authentication" as authentication mechanism;
  3. After the connection has been established, right-click on the server (the first line with the icon), on the left-hand side of the UI
  4. In the the appeared window find and click on "properties"
  5. In the properties section, select "security" page
  6. Make sure that "Server authentication" radio-button is set to "SQL Server and Windows Authentication mode"
  7. Click "Ok"
  8. Then again, on the left-hand side of the UI find folder entitled "Security", and expand it
  9. In unrolled list of options find folder "Logins", and expand it
  10. At this point, you should have "sa" as the last option. If for some reason you do not see it, please refer to https://stackoverflow.com/questions/35753254/why-login-without-rights-can-see-sa-login
  11. Right-click on the "sa" item, select "properties"
  12. Change password to the default system one - "Admin@1234". Don't forget to confirm it afterwards
  13. On the left-hand side select "Status" page, and set "Login" radio-button to "Enabled"
  14. Click "Ok"
  15. Right click on "localhost" server on the left-hand side of the UI and click "Restart"

Now you can connect to your localhost instance with login (sa) and password (Admin@1234)!

Troubleshooting

How to run Docker

  1. In the "build" project, find the "Targets" folder
  2. In the appeared list of classes, find and click on "SetupPublicBuild.cs"
  3. Open the command prompt/PowerShell/linux terminal, go inside of "/Streetcode" directory, and start the "SetupDocker" Target.
    cd ./Streetcode
    nuke SetupDocker

    After waiting for target completion, you should find that the image and running containers for back-end, front-end, db and redis have been successfully created.

NOTE: If order to delete newly created images/containers/volumes, you can utilize the "CleanDocker" Target.

cd ./Streetcode
nuke CleanDocker

That will delete all unnecessary docker-atoms for you.


Usage

How to work with swagger UI

Run the Streetcode project than open your browser and enter https://localhost:5001/swagger/index.html url. If you had this page already opened, just reload it.

How to run API without swagger UI

Run the Streetcode project in any other profile but "Local" and enter http://localhost:5000. Now, you are free to test API-endpoints with Postman or any other tool.

How to run tests

How to Checkstyle


Documentation

Learn more about our documentation here.


Contributing

Gitflow

Gitflow is a lightweight, branch-based workflow.

Gitflow is an alternative Git branching model that involves the use of feature branches and multiple primary branches.

Step 1

Step 2

Step 3

Step 4

Step 5

Step 6

Step 7

Step 8

Step 9

Hotfixes

Oops, some fixed needs to be done immediately? Use this guide for Hotfixes!

Some fixes will be needed due to the nature of Gitflow. You would have to do a 'hotfix' or something outside of the normal process, but it's simply part of our normal process.

Step 1

Step 2

Issue flow


Team

***Project manager*** [![@IrynaZavushchak](https://avatars.githubusercontent.com/u/45690640?s=100&v=4)](https://github.com/IrynaZavushchak) ***Tech expert*** [![@LanchevychMaxym](https://avatars.githubusercontent.com/u/47561209?s=100&v=4)](https://github.com/LanchevychMaxym) ***Business analyst*** [![@vladnvp](https://avatars.githubusercontent.com/u/112704799?s=100&v=4)](https://github.com/vladnvp) ***Dev team*** [![@Kotusyk](https://avatars.githubusercontent.com/u/72945528?s=100&v=4)](https://github.com/Kotusyk) [![@Kasterov](https://avatars.githubusercontent.com/u/96317477?s=100&v=4)](https://github.com/Kasterov) [![@Katerix](https://avatars.githubusercontent.com/u/92515141?s=100&v=4)](https://github.com/Katerix) [![@Tysyatsky](https://avatars.githubusercontent.com/u/77460353?s=100&v=4)](https://github.com/Tysyatsky) [![@MementoMorj](https://avatars.githubusercontent.com/u/98163405?s=100&v=4)](https://github.com/MementoMorj) [![@Chynchenko](https://i.ibb.co/LP9n7w3/Svetlana.jpg)](https://github.com/Chynchenko) [![@NadiaKishchuk](https://i.ibb.co/s3kgMSM/Nadia.jpg)](https://github.com/NadiaKishchuk) [![@Dobriyr](https://avatars.githubusercontent.com/u/67451349?s=100&v=4)](https://github.com/Dobriyr) [![@DanyilTerentiev](https://avatars.githubusercontent.com/u/96494594?s=100&v=4)](https://github.com/DanyilTerentiev) [![@ValDekh](https://avatars.githubusercontent.com/u/61435019?s=100&v=4)](https://github.com/ValDekh) [![@ormykhalyshyn](https://avatars.githubusercontent.com/u/92263517?s=100&v=4)](https://github.com/ormykhalyshyn) [![@MaksBrat](https://avatars.githubusercontent.com/u/113379463?s=100&v=4)](https://github.com/MaksBrat) [![@Lolimkeri](https://avatars.githubusercontent.com/u/57957843?s=100&v=4)](https://github.com/Lolimkeri)

FAQ


Support

Reach out to us at one of the following places!


License