|
1 | | -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). |
| 1 | +<p align="center"> |
| 2 | + <a href="https://pilot-ops.vercel.app" rel="noopener"> |
| 3 | + <img width=600px height=315px src="https://pilot-ops.vercel.app/og.png" alt="Pilot - Marketing & Waitlist Site"></a> |
| 4 | +</p> |
2 | 5 |
|
3 | | -## Getting Started |
| 6 | +<h3 align="center">Pilot - Marketing & Waitlist Website</h3> |
4 | 7 |
|
5 | | -First, run the development server: |
| 8 | +<div align="center"> |
6 | 9 |
|
7 | | -```bash |
8 | | -npm run dev |
9 | | -# or |
10 | | -yarn dev |
11 | | -# or |
12 | | -pnpm dev |
13 | | -# or |
14 | | -bun dev |
15 | | -``` |
| 10 | +[]() |
| 11 | +[](https://github.com/pilot-ops-crm/website/issues) |
| 12 | +[](https://github.com/pilot-ops-crm/website/pulls) |
| 13 | +[]() |
16 | 14 |
|
17 | | -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. |
| 15 | +</div> |
18 | 16 |
|
19 | | -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. |
| 17 | +--- |
20 | 18 |
|
21 | | -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. |
| 19 | +<p align="center"> |
| 20 | + The front door to Pilot — a simple, friendly site where you can learn what Pilot is all about and join the waitlist to get early access when we launch. |
| 21 | +</p> |
22 | 22 |
|
23 | | -## Learn More |
| 23 | +## 📝 Table of Contents |
24 | 24 |
|
25 | | -To learn more about Next.js, take a look at the following resources: |
| 25 | +- [About](#about) |
| 26 | +- [Getting Started](#getting_started) |
| 27 | +- [Usage](#usage) |
| 28 | +- [Built Using](#built_using) |
| 29 | +- [Integration with Main App](#integration) |
| 30 | +- [Deployment](#deployment) |
| 31 | +- [Authors](#authors) |
| 32 | +- [Acknowledgments](#acknowledgement) |
26 | 33 |
|
27 | | -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. |
28 | | -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. |
| 34 | +## 🧐 About <a name = "about"></a> |
29 | 35 |
|
30 | | -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! |
| 36 | +This is the frontend that introduces people to Pilot. It's a clean, simple site that explains what the app does and lets visitors join a waitlist for early access. |
31 | 37 |
|
32 | | -## Deploy on Vercel |
| 38 | +The main idea is straightforward: show off the app's features, tell the story of how it helps creators turn Instagram followers into customers, and collect email addresses from people who want to try it first. |
33 | 39 |
|
34 | | -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. |
| 40 | +It doesn't handle any of the heavy lifting — that all happens in the main app. This site just looks good, explains things clearly, and passes along signups to the real application through a secure API connection. |
35 | 41 |
|
36 | | -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. |
| 42 | +**We built it** to be fast and focused. It uses modern web tools but keeps things simple so it loads quickly and works on any device. The waitlist form is the key feature — when someone signs up, it securely sends their info to the main app for processing. |
| 43 | + |
| 44 | +## 🏁 Let's Get You Set Up |
| 45 | + |
| 46 | +Want to run this marketing site locally? Here's what you need to do. |
| 47 | + |
| 48 | +### What You Need First |
| 49 | + |
| 50 | +- Node.js version 18 or newer |
| 51 | +- pnpm (it's like npm but faster) |
| 52 | +- The WAITLIST_API_TOKEN from the main app (you'll get this from the main app's environment) |
| 53 | + |
| 54 | +### Getting It Running |
| 55 | + |
| 56 | +1. **Grab the code** |
| 57 | + |
| 58 | + ```bash |
| 59 | + git clone https://github.com/pilot-ops-crm/website.git |
| 60 | + cd website |
| 61 | + ``` |
| 62 | + |
| 63 | +2. **Install everything** |
| 64 | + |
| 65 | + ```bash |
| 66 | + pnpm install |
| 67 | + ``` |
| 68 | + |
| 69 | +3. **Set up your environment** |
| 70 | + Copy `.env.example` to `.env.local` and add your WAITLIST_API_TOKEN: |
| 71 | + ```env |
| 72 | + WAITLIST_API_TOKEN=your_token_from_main_app |
| 73 | + ``` |
| 74 | + |
| 75 | +4. **Start the development server** |
| 76 | + |
| 77 | + ```bash |
| 78 | + pnpm dev |
| 79 | + ``` |
| 80 | + |
| 81 | +The site should be running at `http://localhost:3000`. |
| 82 | + |
| 83 | +## 🎈 How to Use It |
| 84 | + |
| 85 | +### What It Does |
| 86 | + |
| 87 | +1. **Landing Page** |
| 88 | + Shows what Pilot is all about, explains the main features, and guides people toward signing up. |
| 89 | + |
| 90 | +2. **Waitlist Form** |
| 91 | + A simple form where visitors enter their email and name. When they submit, it securely sends this info to the main app for processing. |
| 92 | + |
| 93 | +3. **Responsive Design** |
| 94 | + Looks good on phones, tablets, and computers. Uses modern styling that matches the main app's design. |
| 95 | + |
| 96 | +### The Waitlist Flow |
| 97 | + |
| 98 | +1. Someone visits the site and reads about Pilot |
| 99 | +2. They click to join the waitlist |
| 100 | +3. They enter their email and name in the form |
| 101 | +4. The site sends this info to the main app using a secure token |
| 102 | +5. The main app processes it and adds them to the waitlist |
| 103 | +6. They get confirmation that they're signed up |
| 104 | + |
| 105 | +It's all handled behind the scenes — the marketing site just collects the info and passes it along. |
| 106 | + |
| 107 | +## 🔧 Integration with Main App |
| 108 | + |
| 109 | +This site talks to the main Pilot app through a secure API connection. Here's how it works: |
| 110 | + |
| 111 | +### The Connection |
| 112 | + |
| 113 | +- Uses a special token (`WAITLIST_API_TOKEN`) to authenticate with the main app |
| 114 | +- Sends waitlist signups to `https://pilot-ops-app.vercel.app/api/waitlist` |
| 115 | +- The main app handles storing the data and managing the waitlist |
| 116 | + |
| 117 | +### Getting the WAITLIST_API_TOKEN |
| 118 | + |
| 119 | +To set up the connection between the marketing site and main app, you just need to generate the same token in both repositories' environment variables: |
| 120 | + |
| 121 | +1. **Generate a secure token** (can be any random string like `your-super-secret-token-12345`) |
| 122 | +2. **Add to marketing site** (this repo): Set `WAITLIST_API_TOKEN=your-token-here` in your `.env.local` |
| 123 | +3. **Add to main app** (`pilot-ops-crm/app`): Set `WAITLIST_API_TOKEN=your-token-here` in your `.env.local` |
| 124 | + |
| 125 | +The token doesn't need to be complex - just make sure it's the same in both places and keep it secure. |
| 126 | + |
| 127 | +### Security |
| 128 | + |
| 129 | +- The token is stored as an environment variable (never in the code) |
| 130 | +- All communication happens over HTTPS |
| 131 | +- The marketing site doesn't store any sensitive data — it just passes it along |
| 132 | + |
| 133 | +### Why This Setup? |
| 134 | + |
| 135 | +It keeps things separate: the marketing site handles the pretty frontend, and the main app handles the real work. This way, the marketing site stays fast and focused, while the main app can grow and change without affecting the public face of the project. |
| 136 | + |
| 137 | +## 🚀 Putting It Live |
| 138 | + |
| 139 | +This site is set up to deploy on Vercel, just like the main app. |
| 140 | + |
| 141 | +### Getting It Live |
| 142 | + |
| 143 | +1. **Vercel Setup** |
| 144 | + Connect your GitHub repo to Vercel, set up the environment variables in their dashboard, and it will deploy automatically when you push to main. |
| 145 | + |
| 146 | +2. **Environment Variables You Need** |
| 147 | + ```env |
| 148 | + WAITLIST_API_TOKEN=your_token_from_main_app |
| 149 | + ``` |
| 150 | + |
| 151 | +3. **Custom Domain** |
| 152 | + Set up your custom domain in Vercel and make sure it matches what you want. |
| 153 | + |
| 154 | +The site will be live and ready to collect waitlist signups! |
| 155 | + |
| 156 | +## ⛏️ What We Built It With |
| 157 | + |
| 158 | +### Core Stuff |
| 159 | + |
| 160 | +- **Next.js** with the App Router for the main framework |
| 161 | +- **React** for the user interface (version 19) |
| 162 | +- **TypeScript** to catch errors before they happen |
| 163 | +- **Node.js** to run everything |
| 164 | + |
| 165 | +### UI and Design |
| 166 | + |
| 167 | +- **Tailwind CSS** for styling |
| 168 | +- **Radix UI** for accessible components |
| 169 | +- **Lucide React** for icons |
| 170 | +- **Next Themes** for dark/light mode |
| 171 | + |
| 172 | +### Making It Work |
| 173 | + |
| 174 | +- **Axios** for sending data to the main app |
| 175 | +- **Vercel Analytics** for tracking how people use the site |
| 176 | + |
| 177 | +### Development Tools |
| 178 | + |
| 179 | +- **Vercel** for hosting and deployment |
| 180 | +- **pnpm** for managing packages |
| 181 | +- **ESLint** to check code quality |
| 182 | + |
| 183 | +## ✍️ Who Built This |
| 184 | + |
| 185 | +- **ArjunCodess** - **We made this and we keep working on it** |
| 186 | + |
| 187 | +**We believe** in open source because it keeps things honest and helps everyone get better together. If you want to collaborate or have questions, just reach out. |
| 188 | + |
| 189 | +## 🎉 Thanks to |
| 190 | + |
| 191 | +- **Vercel** for making deployment so smooth |
| 192 | +- **shadcn/ui** for great components we could build on |
| 193 | +- **The main Pilot app** for handling all the real work behind the scenes |
| 194 | +- **Everyone in open source** who shares their work and makes this possible |
| 195 | + |
| 196 | +--- |
| 197 | + |
| 198 | +<div align="center"> |
| 199 | + |
| 200 | +**Pilot** - Transforming Instagram interactions into business opportunities |
| 201 | + |
| 202 | +_Built with ❤️ for creators and entrepreneurs_ |
| 203 | + |
| 204 | +</div> |
0 commit comments