Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strapi config sync v2 #10

Open
wants to merge 48 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
5f985e6
Improve env variable handling for db connections
oriooctopus Feb 1, 2022
9819671
Add getNextLessonSlug query
oriooctopus Feb 6, 2022
e671771
upgrade stapi
oriooctopus Feb 6, 2022
2aacbcf
Fix sorting order bug
oriooctopus Feb 6, 2022
ce4265a
adjust default pagination limit
oriooctopus Feb 11, 2022
293e03e
feature: Query Test & MetaTest internals
andypants888 Feb 19, 2022
e01ce01
Strapi setup walkthrough
bjornrl Feb 20, 2022
bdfe150
README updated with Markdown
bjornrl Feb 21, 2022
136b06a
feature: add findMany for multiple tests/metas
andypants888 Feb 22, 2022
1ffb1a7
feature: cleaned up lifecycle hooks
andypants888 Feb 22, 2022
3bf8d62
updated README
bjornrl Feb 25, 2022
d7b84ae
Added database setup
bjornrl Feb 25, 2022
c07f390
Added git workflow
bjornrl Feb 25, 2022
ea062ce
small changes after feedback
bjornrl Feb 25, 2022
5ff2f5f
Merge pull request #2 from bjornrl/update-readme
oriooctopus Feb 28, 2022
304f06d
Changed npm to yarn + small fixes
bjornrl Feb 28, 2022
a488e41
Merge pull request #5 from bjornrl/update-readme
oriooctopus Feb 28, 2022
72f687e
Merge branch 'master' of https://github.com/oriooctopus/acc-v4 into t…
andypants888 Feb 28, 2022
3352422
feature: edits to pr#3 , 37-jira-task
andypants888 Feb 28, 2022
e55605a
feature: pr #3 edits round2
andypants888 Mar 1, 2022
d312b00
Merge pull request #3 from andypants888/test-validator-37
oriooctopus Mar 1, 2022
f3963e9
Fix bug on publish of lesson
oriooctopus Mar 1, 2022
83a52bf
Switch 'challenges' to 'steps'
oriooctopus Mar 2, 2022
64032d4
Readd playground type
oriooctopus Mar 2, 2022
d088571
backups
oriooctopus Mar 3, 2022
8cc3cfa
modify challenges
oriooctopus Mar 3, 2022
eb20f83
Strapi plugin config sync (#4)
bjornrl Mar 4, 2022
97988af
Update README.md
oriooctopus Mar 8, 2022
38626d3
Strapi config sync v2 (#6)
bjornrl Mar 18, 2022
688e463
add editor meta
oriooctopus Mar 19, 2022
af73f73
add project type
oriooctopus Mar 19, 2022
e43a500
update config data for new projects
oriooctopus Mar 19, 2022
1d8cc93
Options initially hidden (#7)
bjornrl Mar 23, 2022
8cbcc75
Fix accidentally removed question marks
oriooctopus Mar 25, 2022
0e0427d
add challenge meta
oriooctopus Mar 25, 2022
9fefd6d
add challengeDifficulty
oriooctopus Mar 25, 2022
3d40748
fix enforceSortingError when there are no orderedEntityIds
oriooctopus Mar 26, 2022
07ab46b
Add new labeling field
oriooctopus Apr 1, 2022
c5f9ec1
Validate multiple choice challenge options
oriooctopus Apr 3, 2022
762c11f
temporarily disable internal label setting
oriooctopus Apr 5, 2022
58c2a18
initial plugin commit
oriooctopus Apr 6, 2022
518fa9e
Rough draft of ChallengeSuperview plugin
oriooctopus Apr 8, 2022
0c1ca00
Finishing touches
oriooctopus Apr 8, 2022
2aead3a
unhardcode backend url
oriooctopus Apr 10, 2022
f34e6fb
add namePrivateClarifications
oriooctopus Apr 10, 2022
e9d9ff0
Add name to MultipleChoiceChallenge
oriooctopus Apr 19, 2022
ad8b07a
course and lesson 10 to 100 entries
bjornrl Apr 19, 2022
1c9a6e7
Merge branch 'master' into strapi-config-sync-v2
bjornrl Apr 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
HOST=0.0.0.0
PORT=1337
JWT_SECRET=a3a5d540-4320-45b4-b7ef-0dcf8e07a41e
API_TOKEN_SALT=b706d554059caa52f003a5212613e3ac
IS_PRODUCTION=false
DATABASE_USER=acc-v4
DATABASE_NAME=acc-v4
DATABASE_PASSWORD=password
104 changes: 102 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,103 @@
# Strapi application
# Setting up Strapi

A quick description of your strapi application
### Quickstart

###### This section only works for mac and linux

Windows sections will be added later. For now check out these links to set up:

- Windows: https://www.microfocus.com/documentation/idol/IDOL_12_0/MediaServer/Guides/html/English/Content/Getting_Started/Configure/_TRN_Set_up_PostgreSQL.htm

#### Setting up database for Mac users

##### Installing HomeBrew

1. Install Homebrew by running command: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`. _(This will ask for you password and confirmation of download)_
2. Check that homebrew is up to date and healty by running: `brew update` then `brew doctor`

##### Installing postgres

3. Install Postgres by running: `brew install postgresql`
4. Start Postgres service by running: `brew services start postgresql`
5. If you get error: "Error: role 'postgres' does not exist", run command: `/usr/local/opt/postgres/bin/createuser -s postgres`

_Remember to run `npm run build` and `npm run develop` after doing these steps._

_PS: The step “Downloading Command Line Tools for Xcode” can take very long._
My best suggestion for that is checking out this discussion: https://github.com/Homebrew/discussions/discussions/131

And especially this comment:

Apple's XCode command-line installer is...quite uncommunicative. You have at least two choices: 1. Wait for as long as it takes...or the installer errors out. 2. Go to https://developer.apple.com/download/more/ (you'll need to sign up for an Apple developer account if you don't have one), then download and install the latest Command Line Tools package that your OS supports.

### Import database

After setting up strapi, you need to import the database. This is how you do that.

1. First, add the database file to the native layer in your repo. It should be named something like “backup-remote-….-.pgsql”
2. In your terminal, go into postgres: `psql template0`
3. Check roles: `\du`
- You will most likely see that you are a "superuser" in some databases, some not. This gives special admin rights to the database, which you will need
4. Create database for this project, call it "acc-v4": `CREATE DATABASE "acc-v4"`.
5. Make yourself a superuser: `alter user [username] with superuser`.
6. Add login permission: `alter role [username] with login`
7. Exit postgres: `\q`
8. Import the database: `pg_restore -U [username] -d acc-v4 -1 [name-of-file]`
9. Run `yarn build` and then `yarn develop`. You should now be set up. Go to http://localhost:1337/admin/ (Or whatever localhost it is running on) and check!

#### Notes:

- To import the database correctly, it needs to be totally empty when you do it. When you are not familiar with PostgreSQL it is easy to type wrong, make small mistakes etc., which can lead to the database not being ready to import when you try. This can be easily solved by deleting the database `DROP DATABASE [name-of-database]` and creating a new one `CREATE DATABASE [name-of-database]`. This will give you a clean slate to try importing again.
- Always remember `;` at the end of your lines, commands in PostgreSQL wont run without them. If you forget, just type `;` in the next line and press `ENTER`.
- Backslash is achieved with `SHIFT+OPTION+7`on a Mac.

### More info

Most of the steps here are taken directly from this website: https://www.moncefbelyamani.com/how-to-install-postgresql-on-a-mac-with-homebrew-and-lunchy/. There is more to learn there.

HomeBrew is a package manager that takes care of everything NPM or Yarn doesn´t. Read more about it on https://brew.sh/

It will ask for your password and to confirm the download.

Beware that the step “Downloading Command Line Tools for Xcode” can take very long. My best suggestion for that is checking out this discussion:

https://github.com/Homebrew/discussions/discussions/131

And especially this comment:

Apple's XCode command-line installer is...quite uncommunicative. You have at least two choices: 1. Wait for as long as it takes...or the installer errors out. 2. Go to https://developer.apple.com/download/more/ (you'll need to sign up for an Apple developer account if you don't have one), then download and install the latest Command Line Tools package that your OS supports.

Don´t worry, it takes some time, but will complete in the end.

After all this, you might get the error: “error: role "postgres" does not exist”

To solve that, simply run this in the command line:

/usr/local/opt/postgres/bin/createuser -s postgres

Then, run "yarn build” and "yarn develop” again and you should be good!

### Useful git commands

When you work on this project, you will du that on your own fork. You will make branches for each added feature, push changes and then merge the branches when the feature are reviewed by others. Here is a breakdown of your workflow:

1. Set upstream repo. Olivers repo is our "source of truth": `git remote add upstream [email protected]:oriooctopus/acc-v4.git`
2. Pull master - make sure you´re up to date: `git pull`
3. Make a branch for the change you´re about to make: `git checkout -b [name-of-branch]`
4. Make the changes/Write the code
5. Add changes with `git add [name-of-file`
6. Commit changes with `git commit -m "[notes about changes]"`
7. Push changes: `git push origin HEAD`
8. Go to github and make a pull request for your changes.

#### Notes

In general there is some thing you need to learn about working with git. Don´t be afraid to ask. You should also go through this tutorial on git branching, it is very helpful: https://learngitbranching.js.org/

- Git Lens is a very helpful VSCode extension: Go install it. (Add picture etc.)
- When you have made your branch, you can check your branches by entering this command: `git branch`. It will also tell you which branch you are on.
- When you have made a pull request on a branch and make more changes. Don´t make another pull request, it will update when you push the new changes.
- When you type git rebase -I HEAD~[num] you, for some fucking unknown reason, enter this vim fuckery. Without a fucking course you will also be stuck there and god forbid the changes you want to make will actually be made. So, here is a little guide for how to deal with this godforsaken dickcheese of a feature.
- :q - no changes were made
- :q! - trash all changes
- :wq - save the changes and quit
Loading