Awesome
Kelas Rumah Berbagi
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END --> <!-- prettier-ignore-start --> <!-- prettier-ignore-end -->Online course platform for Rumah Berbagi.
Documentation
Getting started
System Requirements
Development
To get started running the project locally, please follow the steps below.
First, clone the repository.
git clone https://github.com/zainfathoni/kelas.rumahberbagi.com.git
or if you're cloning using SSH.
git clone git@github.com:zainfathoni/kelas.rumahberbagi.com.git
Then go to the directory and copy the example environment variables into an
ignored .env
file
cd kelas.rumahberbagi.com
cp .env.example .env
Run this command to perform the initial setup while making sure that the app can run properly in your local.
npm run setup
Finally, run the development server to start developing.
npm run dev
Open http://localhost:3000 with your browser to see the result. This starts your app in development mode, rebuilding assets on file changes.
Testing
Run this command to start the end-to-end testing locally.
npm run test:e2e:run
Here's what that script does (along with the corresponding NPM commands):
- It builds the app (
npm run build
) - It starts the server using the test database (
npm run start:e2e
) - After http://localhost:3000/ is available, it starts testing (
npm t
a.k.a.npm test
a.k.a.npm run test
)
If you want, you can also manually run those commands above.
Tools & References
Tools
Code Editor
If you're using Visual Studio Code, you can install the recommended extensions
for this project by
using @recommended
filter.
References
Frequently Used Commands
Prisma commands
Learn more about this Prisma schema file in the docs: https://pris.ly/d/prisma-schema
Commands to know:
npx prisma generate
- update TypeScript definitions based on this schemanpx prisma db push
- push the schema changes to the databasenpx prisma studio
- open the Studio, which allows you to edit the schema.npx prisma migrate reset
- reset the migrations to the last version. This will reset the DB and run the seed scriptnpx prisma migrate dev --name <descriptive-name>
- generate a migration file for any changes you make to the schema (this will be committed).
PlanetScale commands
Learn more about Planetscale CLI in the docs: https://docs.planetscale.com/reference/planetscale-cli
Commands to know:
pscale connect <DATABASE_NAME> <BRANCH_NAME> --port 3309
- create a secure connection to a database branch for a local clientpscale database dump <DATABASE_NAME> <BRANCH_NAME> --output prisma/dumps/xx
- backup and dump the specified database
Fly Setup ⚠️ Warning, the deployment setup is untested yet ⚠️
-
Sign up and log in to Fly
flyctl auth signup
-
Setup Fly. It might ask if you want to deploy, say no since you haven't built the app yet.
flyctl launch
Deployment
If you've followed the setup instructions already, all you need to do is run this:
npm run deploy
You can run flyctl info
to get the url and ip address of your server.
Check out the fly docs for more information.
Contributing
See our contribution guidelines in these languages:
When contributing to our project, please use English when communicating with other people in issues and/or pull requests. Click here to read why. (Bahasa Indonesia)
Important links
<!-- markdownlint-disable line-length -->Description | Link |
---|---|
Project overview | rbagi.id/github-project |
Epics list | rbagi.id/epic |
Issues board | rbagi.id/board |
Issue shortlink | rbagi.id/gh/:issue-id |
First-time contributors link | rbagi.id/contribute |
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tr> <td align="center"><a href="https://zainf.dev"><img src="https://avatars.githubusercontent.com/u/6315466?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Zain Fathoni</b></sub></a><br /><a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=zainfathoni" title="Code">💻</a> <a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=zainfathoni" title="Documentation">📖</a> <a href="#design-zainfathoni" title="Design">🎨</a> <a href="#maintenance-zainfathoni" title="Maintenance">🚧</a> <a href="#tool-zainfathoni" title="Tools">🔧</a> <a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=zainfathoni" title="Tests">⚠️</a> <a href="#projectManagement-zainfathoni" title="Project Management">📆</a> <a href="#ideas-zainfathoni" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center"><a href="http://retry19.com"><img src="https://avatars.githubusercontent.com/u/39640211?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Reza Rachmanuddin</b></sub></a><br /><a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/issues?q=author%3Aretry19" title="Bug reports">🐛</a> <a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=retry19" title="Code">💻</a> <a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=retry19" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/febrifahmi"><img src="https://avatars.githubusercontent.com/u/12995919?v=4?s=100" width="100px;" alt=""/><br /><sub><b>febrifahmi</b></sub></a><br /><a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=febrifahmi" title="Code">💻</a></td> <td align="center"><a href="https://guntoroyk.com/"><img src="https://avatars.githubusercontent.com/u/24248495?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Guntoro Yudhy Kusuma</b></sub></a><br /><a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=guntoroyk" title="Code">💻</a></td> <td align="center"><a href="http://nurfitrapujo.vercel.app"><img src="https://avatars.githubusercontent.com/u/26681203?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nurfitra Pujo Santiko</b></sub></a><br /><a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=NurfitraPujo" title="Code">💻</a> <a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=NurfitraPujo" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/AchmadWahyu"><img src="https://avatars.githubusercontent.com/u/39010275?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Achmad Wahyu</b></sub></a><br /><a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=AchmadWahyu" title="Code">💻</a> <a href="https://github.com/zainfathoni/kelas.rumahberbagi.com/commits?author=AchmadWahyu" title="Tests">⚠️</a></td> </tr> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->This project follows the all-contributors specification. Contributions of any kind welcome!