Launchpad is currently under development. This project is the backbone of the Solaris Hackathon, designed to provide participants with on-demand, free AWS compute instances. Our goal is to empower our hackers to build, innovate, and experiment without the barrier of infrastructure costs or complex cloud setup during the hackathon.
This monorepo contains the frontend web application and the backend API that powers Launchpad.
Solaris Launchpad aims to:
- Provide a simple, intuitive web interface for hackathon participants to manage temporary AWS EC2 instances (and more).
- Offer a backend API to securely and efficiently handle the provisioning, monitoring, and de-provisioning of these instances.
- Streamline the development and deployment process for hackathon organizers and contributors
This project leverages a modern and robust tech stack:
- Turborepo - Monorepo Management
- Bun - Package Manager
- Frontend (
apps/web
) - Backend (
apps/api
)- ASP.NET Core
- C#
- .NET 9
- OpenAPI (Swagger) for docs
- Tooling
- ESLint for linting
- Prettier for formatting
Ensure you have the following installed on your system:
- Node.js: Version 18 or newer
- Bun: Version 1.2.13 or compatible
- .NET SDK: Version 9.0.x (specifically
net9.0
as targeted by the API project)
- Clone the repository
git clone [email protected]:hacksolaris/launchpad.git launchpad
cd launchpad
- Install dependencies
# Navigate to the root of the project and run:
bun install
- Environment Variables
- Frontend
- Copy all of the entries from
.env.local.example
and then replace it with the respective environment variables. Make sure the file with the environment variables on the frontend is called.env.local
not.env.local.example
- Copy all of the entries from
- Backend
- The .NET API uses
appsettings.json
for general configuration andappsettings.Development.json
for dev related settings. For any sensitive information like AWS creds, it's recommended to rename the.env.example
file to.env
and then fill in all the environment variables
- The .NET API uses
- Frontend
Turborepo is configured to manage the deployment and build processes for both the frontend and the backend.
- Run both frontend and backend at the same time (Recommended for Development):
# In the root directory of the project
bun dev
- Run applications individually
# Web app
cd apps/web
bun dev
# API
cd apps/api
bun dev