gdgpescara / hedwig

Other
20 stars 12 forks source link

Hedwig 🦉

⚡️ Quick Start

Clone the repo and install dependencies with pnpm:

pnpm install

Create a .env file in the root folder. Create a new Firebase project. Get the Firebase's configuration object and use it to set the FIREBASE_CONFIG variable in the .env file:

FIREBASE_CONFIG=THE_CONFIGURATION_OBJECT

Be careful to put the whole object in a single row, eliminating every new line character.

Create a private key for the Firebase's service account and use it to set the FIREBASE_SERVICE_ACCOUNT variable in the .env file:

FIREBASE_SERVICE_ACCOUNT=THE_SERVICE_ACCOUNT_PRIVATE_KEY

Again, be careful to put the whole object in a single row, eliminating every new line character.

Start the local development server:

pnpm dev

Open localhost:3000 in your browser to see the site!

That's it! You're ready to start contributing to the project! 🥳

⚡ Live demo

🚀 Project Structure

Inside of your Astro project, you'll see the following folders and files:

/
├── public/
│   └── favicon.svg
├── src/
│   ├── feature-x/
│   │   └── ComponentName.astro
│   │   └── AnotherComponentName.astro 
│   ├── shared/
│   │   └── Card.astro
│   └── pages/
│       └── index.astro
└── package.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/feature-x/, (replace "x" with any component name that you want) but that's where we like to put any Astro/React/Vue/Svelte/Preact components or something related to the feature.

Any static assets, like images, can be placed in the public/ directory.

Firebase Functions

We make use of Firebase Functions in the project. To understand how they are used and how to contribute to Functions development or just how to develop your own Function, please, refer to the Technical Documentation on Firebase Functions.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
pnpm install Installs dependencies
pnpm dev Starts local dev server at localhost:3000
pnpm build Build your production site to ./dist/
pnpm preview Preview your build locally, before deploying
pnpm astro ... Run CLI commands like astro add, astro check
pnpm astro --help Get help using the Astro CLI

Tools used

User Personas

You can find the User Personas in the Wiki page and on Figma

Mockup

TBD

Contributing

New contributors welcome! Check out our Contributors Guide for help getting started.

Join us on Telegram to meet other maintainers. We'll help you get your first contribution in no time!

Code of Conduct

Contributor Covenant

License

The project is published under the MIT license. Feel free to clone and modify repo as you want, but don't forget to add a reference to authors :)