This repository is used to deploy the official website for the annual hackathon organized by GeeksHacking. In 2024, the theme is "Innovate for Tomorrow: Building a Resilient Future."
The website can be found at hackomania2024.geekshacking.com.
This project is built using Astro, a modern static site generator, along with Tailwind CSS for styling. It showcases information about the hackathon, including challenges, prizes, schedule, venue details, and team information.
- Node.js (v14 or later)
- pnpm (v6 or later)
-
Clone the repository:
git clone https://github.com/your-username/hackomania-2024-website.git cd hackomania-2024
-
Install dependencies:
pnpm install
-
Run the development server:
pnpm run dev
-
Open your browser and navigate to
http://localhost:4321
/
├── public/
│ └── favicon.svg
├── src/
│ ├── components/
│ ├── layouts/
│ ├── pages/
│ └── assets/
├── astro.config.mjs
├── package.json
└── tsconfig.json
For more details on the project structure, refer to the "Project Structure" section in the README:
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```text
/
├── public/
│ └── favicon.svg
├── src/
│ ├── components/
│ │ └── Card.astro
│ ├── layouts/
│ │ └── Layout.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/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the `public/` directory.
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
"astro": "astro"
},
We used Cloudflare Pages to deploy the website.
To deploy the project on alternative platforms, you can use the following command to generate the static files for deploying to any static hosting service:
pnpm run build
This project is open source and available under the MIT License.
For any inquiries, please contact:
- General: [email protected]
- Sponsorship: [email protected]
Join our Telegram channel for updates and discussions.