Home

Awesome

Kelas Rumah Berbagi

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->

All Contributors

<!-- ALL-CONTRIBUTORS-BADGE:END -->

Build Status MIT License

<!-- 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):

  1. It builds the app (npm run build)
  2. It starts the server using the test database (npm run start:e2e)
  3. 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.

Recommended VS Code Extensions

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:

PlanetScale commands

Learn more about Planetscale CLI in the docs: https://docs.planetscale.com/reference/planetscale-cli

Commands to know:

Fly Setup ⚠️ Warning, the deployment setup is untested yet ⚠️

  1. Install Fly

  2. Sign up and log in to Fly

    flyctl auth signup
    
  3. 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 -->
DescriptionLink
Project overviewrbagi.id/github-project
Epics listrbagi.id/epic
Issues boardrbagi.id/board
Issue shortlinkrbagi.id/gh/:issue-id
First-time contributors linkrbagi.id/contribute
<!-- markdownlint-restore -->

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!