- Notifications
You must be signed in to change notification settings - Fork59
Community platform for dancers
License
we-dance/v3
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Community platform for dancers
Do you want to get a practical experience, learn to work in international team and participate in open source project?
- Nuxt.js – Vuejs framework, which is used as Static Site Generator.
- Tailwind CSS – utility-first CSS framework.
- Nuxt Composition Api – provides a way to use the Vue 3 Composition API with Nuxt-specific features.
- Firebase – used as Serverless framework with Firestore realtime database, authentication and cloud functions.
- Mailgun – used as an email delivery and tracking service.
- Sentry – monitoring platform to log exceptions and errors.
- Netlify – CDN, CI and Hosting provider, that deploys site on each commit.
- Go toFirebase Console click
Add project
, enter any name, clickContinue
, uncheckEnable Google Analytics for this project
, clickContinue
. - Under
Get started by adding Firebase to your app
click 3d icon (Web), enter nameWeb
, uncheckFirebase Hosting
, clickRegister app
, copy generatedfirebaseConfig
. - Go to
Authentication
, switch to tabSign-in method
, clickEmail/Password
and enable both triggers (password and email link); enableGoogle
. - Go to
Cloud Firestore
, clickCreate database
, selectStart in test mode
, clickNext
, choose regioneur3
. - Transform
firebaseConfig
value (from step 2) to one line JSON.This tool might help you. - Clone this repository and open the project folder.
- Copy
.env.example
file to.env
file and set value ofFIREBASE_CONFIG
to one line JSON you got from step 5.
To activate all services and features see sectionServices
below.
- Install nvm
- Run
nvm install 14
- Run
nvm use 14
- Run
yarn install
- Run
yarn dev
To activate all services and features see sectionServices
below.
Watchvideo tutorial.
ReadHow to deploy on Netlify?.
- Push your branch to github.
- Sign in toNetlify.
- Click
New site from Git
. - Choose
GitHub
and select your repository. - Select your branch.
- Build command:
yarn build
. - Publish directory:
dist
. - Click
Advanced build settings
and empty value forFunctions directory
as we don’t use Netlify functions. - Click
New variable
and add all keys and values from.env
file (URL
andsome other variables are set automatically). - Click
Deploy site
.
To activate all services and features see sectionServices
below.
Activate only those services that you need. In most cases you don't need all of them.
- Go to
Authentication
, switch to tabSign-in method
find sectionAuthorized domains
, clickAdd domain
and add new.
- EnableMaps JavaScript API,Places API andGeocoding API in the Google Cloud Console.
- Enable Billing on the Google Cloud Project.
- Createmailgun account.
- Create domain and setup DNS.
- Create API key.
- Enable Pub/Sub, Scheduler, Build API inGoogle Cloud Console.
- InstallFirebase-CLI locally and init project with
firebase init
. - Add mailgun confguration to Firebase:
firebase functions:config:set mailgun.key="" mailgun.domain="" mailgun.host=""
- Deploy Firebase with
firebase deploy
. - Setup hooks in Mailgun.
- Create firestore index (send test mail, see logs, find link to create index).
We encourage you to contribute to WeDance!
We expect contributors to abide by our underlyingcode of conduct. All conversations and discussions on GitHub (issues, pull requests) and acrosswedance.vip must be respectful and harassment-free.
Remember that communication is the lifeblood of any Open Source project. We are all working on this together, and we are all benefiting from this software. It's very easy to misunderstand one another over asynchronous, text-based conversations: When in doubt, assume everyone within this project has the best intentions.
We are all humans trying to work together to improve the community. Always be kind and appreciate the need for trade-offs. ❤️
A great way to contribute to the project is to send a detailed report when you encounter an issue.
Documentation is almost always a great place to start contributing to a new project. WeDance is an Open Source, community-driven project. Therefore, providing and maintaining quality documentation is one of our most important jobs. You can find more information in our docs guide!
Refactoring, which involves improving the code without modifying behavior, is a great place to help out! Generally speaking, you can rely on existing tests to ensure that your refactor doesn't introduce any unexpected behavior. If an area isn't well tested, you might be asked to include a regression test with your refactoring PR. Refactors can touch many files, so we encourage breaking big changes into small PRs.
Fixing bugs is a super fast way to improve the experience for our users! When you're fixing bugs, we appreciate communication in a GitHub issue. If an issue exists, please claim that issue and link it in your PR, otherwise creating an issue is the best first step! Be sure to surround bug fixes with ample tests; bugs are magnets for other bugs. Write tests around bugs!
Building features requires a lot of communication, but we'd love to have your help with this too! Features tend to be subjective and might spur some debate. Be sure to create an issue for new features before getting started! If your feature involves design changes, including design mockups can be very helpful. As always, when in doubt, ask!
We'd love to see your pull requests, even if it's just to fix a typo!
However, any significant improvement should be associated to an existing feature request or bug report.
- Setup project locally (see Setup).
- Make changes to code.
- Checkout new branch and commit your changes.
- Deploy to Netlify.
- Create a Pull Request and include a link to your Netlify demo.
As you might have noticed already, we are using ESLint to enforce a code standard. Please runyarn lint
before committing your changes to verify that the code style is correct. If not, you can useyarn lint --fix
to fix most of the style changes. If there are still errors left, you must correct them manually.
We useConventional Commits. See examples ofgood commits andbad commits.
Code Editor:VSCode with following plugins:
Browser:Chrome with extensions:
This site is aNuxt.js application. SeeDirectory Structure and official guide for more information. Also most of folders in this repository has aREADME.md
file.
functions
folder contains Firebase Cloud Functions.
We are all humans trying to work together to improve the community. Always be kind and appreciate the need for tradeoffs. ❤️
About
Community platform for dancers