adding details
This commit is contained in:
164
README.md
164
README.md
@@ -1 +1,163 @@
|
||||
This is first file of rising web
|
||||
# RisingCompute Website
|
||||
|
||||
The marketing site for **RisingCompute** — IP cores for AI, space, and robotics.
|
||||
|
||||
- **Backend:** Django 5 + Django REST Framework + PostgreSQL
|
||||
- **Frontend:** Vue 3 + Vite + Vue Router
|
||||
- **Deployment:** any WSGI host (gunicorn + nginx) + a static-file host for the SPA
|
||||
|
||||
---
|
||||
|
||||
## Layout
|
||||
|
||||
```
|
||||
rising-web/
|
||||
├── backend/ # Django project
|
||||
│ ├── risingcompute/ # Project settings, urls, wsgi, asgi
|
||||
│ ├── api/ # The "api" app — models, views, serializers, admin
|
||||
│ │ └── migrations/ # Schema + seed data
|
||||
│ ├── manage.py
|
||||
│ ├── requirements.txt
|
||||
│ └── .env.example
|
||||
├── frontend/ # Vue 3 SPA (Vite)
|
||||
│ ├── src/
|
||||
│ │ ├── components/
|
||||
│ │ ├── views/
|
||||
│ │ ├── router/
|
||||
│ │ ├── api/
|
||||
│ │ └── assets/styles/
|
||||
│ ├── package.json
|
||||
│ ├── vite.config.js
|
||||
│ └── .env.example
|
||||
├── DATABASE_SETUP.md # PostgreSQL install + provisioning
|
||||
├── design-document.md # Empty template (origin)
|
||||
├── filled_design_document.md # Founder-filled version
|
||||
└── final_design_document.md # Build-ready spec (source of truth)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick start (development)
|
||||
|
||||
You'll need: Python 3.11+, Node 20+, PostgreSQL 14+.
|
||||
|
||||
### 1. Provision the database
|
||||
|
||||
Follow [DATABASE_SETUP.md](./DATABASE_SETUP.md). At the end of it you should have:
|
||||
|
||||
- a running PostgreSQL with a database called `risingcompute`
|
||||
- a user called `risingcompute` with a strong password
|
||||
- a `DATABASE_URL` you can paste into `backend/.env`
|
||||
|
||||
### 2. Run the backend
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
cp .env.example .env # then edit DATABASE_URL + SECRET_KEY
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||||
pip install -r requirements.txt
|
||||
python manage.py migrate # also seeds products, founders, blog posts
|
||||
python manage.py createsuperuser
|
||||
python manage.py runserver 0.0.0.0:8000
|
||||
```
|
||||
|
||||
Backend lives at `http://127.0.0.1:8000`. Useful URLs:
|
||||
|
||||
- `http://127.0.0.1:8000/admin/` — Django admin (manage products, blog, openings, submissions)
|
||||
- `http://127.0.0.1:8000/api/health/` — uptime check
|
||||
- `http://127.0.0.1:8000/api/products/` — JSON list of IP cores
|
||||
- `http://127.0.0.1:8000/api/founders/` — founder profiles
|
||||
- `http://127.0.0.1:8000/api/posts/` — blog post list
|
||||
|
||||
### 3. Run the frontend
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
cp .env.example .env # optional in dev (proxy handles it)
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Frontend lives at `http://127.0.0.1:5173`. Vite proxies `/api/*` to Django on `:8000`, so the SPA and backend behave as same-origin during dev.
|
||||
|
||||
### 4. Sign in to admin and check
|
||||
|
||||
Visit `http://127.0.0.1:8000/admin/`, sign in with the superuser you created, and verify that **Products**, **Founders**, and **Blog posts** are all populated by the seed migration.
|
||||
|
||||
Open `http://127.0.0.1:5173/` — you should see the RisingCompute homepage with three product cards and three blog teasers loaded from the API.
|
||||
|
||||
---
|
||||
|
||||
## API contract
|
||||
|
||||
| Method | Endpoint | Purpose |
|
||||
|---|---|---|
|
||||
| GET | `/api/health/` | Service uptime |
|
||||
| GET | `/api/products/` | List published products |
|
||||
| GET | `/api/products/<slug>/` | Single product |
|
||||
| GET | `/api/founders/` | Founder profiles for the About page |
|
||||
| GET | `/api/posts/` | List published blog posts |
|
||||
| GET | `/api/posts/<slug>/` | Single post |
|
||||
| GET | `/api/jobs/` | Open roles |
|
||||
| POST | `/api/contact/` | Submit the contact / evaluation form |
|
||||
| POST | `/api/newsletter/` | Newsletter signup |
|
||||
| POST | `/api/apply/` | Job application (multipart, supports CV upload) |
|
||||
|
||||
Submission endpoints are rate-limited to 30/hour per anonymous IP.
|
||||
|
||||
---
|
||||
|
||||
## Deployment
|
||||
|
||||
**Backend (Django):**
|
||||
|
||||
1. Provision a VM (Ubuntu 22+) and follow [DATABASE_SETUP.md](./DATABASE_SETUP.md).
|
||||
2. Set `DJANGO_DEBUG=False`, a real `DJANGO_SECRET_KEY`, real `DJANGO_ALLOWED_HOSTS`, and a real `DATABASE_URL` in `backend/.env`.
|
||||
3. `pip install -r requirements.txt`
|
||||
4. `python manage.py migrate && python manage.py collectstatic --noinput`
|
||||
5. Run with gunicorn behind nginx:
|
||||
```bash
|
||||
gunicorn risingcompute.wsgi:application --bind 0.0.0.0:8000 --workers 3
|
||||
```
|
||||
6. Point nginx at gunicorn for `/api/` and `/admin/`, and serve `/static/` from `backend/staticfiles/`.
|
||||
|
||||
**Frontend (Vue SPA):**
|
||||
|
||||
1. Set `VITE_API_BASE_URL=https://risingcompute.in` (or your API host).
|
||||
2. `npm run build` → produces `frontend/dist/`.
|
||||
3. Serve the `dist/` folder from any static host (nginx, Vercel, Cloudflare Pages, Netlify, S3+CloudFront). Make sure unknown paths fall back to `index.html` (SPA history mode).
|
||||
|
||||
---
|
||||
|
||||
## Editing content
|
||||
|
||||
All marketing content is editable from the Django admin:
|
||||
|
||||
- **Products** — name, tagline, summary, description, benefits, features, spec table (JSON).
|
||||
- **Founders** — bios, photo URLs, LinkedIn.
|
||||
- **Blog posts** — title, excerpt, markdown body, category, author.
|
||||
- **Job openings** — open / closed, description, location.
|
||||
- **Submissions** — Contact submissions, Newsletter signups, Job applications all show up here for triage.
|
||||
|
||||
The seed migration (`api/migrations/0002_seed_initial_data.py`) populates the initial copy. Re-running migrations does not overwrite edits you've made in the admin (it uses `update_or_create`, so it will re-sync defaults — edit copy in the admin to make changes stick).
|
||||
|
||||
---
|
||||
|
||||
## Brand reference
|
||||
|
||||
Aligned with the company core values — **Fast · Reliable · Robust**.
|
||||
|
||||
- Primary: `#0B1437` (Deep Space Indigo)
|
||||
- Surface: `#1A2347` (Slate Navy)
|
||||
- Accent: `#00E5FF` (Accelerate Cyan)
|
||||
- Text: `#F4F6FB` (Mist)
|
||||
- Type: Inter + JetBrains Mono
|
||||
- Default theme: dark
|
||||
- Motion: subtle (fade-ins, hover lifts, one animated hero datapath). Respects `prefers-reduced-motion`.
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
Proprietary. © RisingCompute Pvt Ltd.
|
||||
|
||||
Reference in New Issue
Block a user