akahenry / akahenry/akahenry.dev

Project Planning

Aperta
#3 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
documentation
Lingua principale
CSS
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Create items according to the strategy below:

## **Phase 1: Planning & Setup**
### **1. Define Requirements & Tech Stack**
- ✅ Finalize tech stack: **React (frontend), Rust (backend), SQLite (database)**.
- ✅ Define API contract: How will React interact with Rust? Define endpoints.
- ✅ Plan authentication method: **OAuth (refresh + access tokens)**.

### **2. Set Up Development Environment**
- Install Rust & set up a project (`cargo init`).
- Install React & create a project (`npx create-react-app` or Vite).
- Set up SQLite database.
- Choose a Rust web framework: **Axum, Actix-web, or Rocket**.
- Set up API testing tools (e.g., Postman, Thunder Client).

---

## **Phase 2: Backend Development**
### **3. Authentication System**
- Implement user authentication (OAuth with refresh & access tokens).
- Store user credentials securely (hashed passwords, JWT handling).
- Create login & token refresh endpoints.

### **4. Database Schema & Models**
- Define **Users, Posts, Projects** tables.
- Implement migrations (use `sqlx` or `diesel` for Rust ORM).

### **5. Admin APIs**
- Create routes to:
- **Manage Posts** (CRUD operations).
- **Manage Projects** (CRUD operations, with GitHub integration).
- Implement authentication checks.

### **6. Portfolio APIs**
- Public API for:
- Fetching **posts**.
- Fetching **projects**.
- Fetching **user bio & hero section content**.

---

## **Phase 3: Frontend Development**
### **7. Set Up React App**
- Choose a UI framework (Tailwind, Chakra, Material-UI).
- Create a basic layout with routing.

### **8. Implement Portfolio Pages**
- **Hero Section:** Display user bio & image.
- **Posts Section:** Fetch & display Markdown posts.
- **Projects Section:** Fetch & display GitHub/manual projects.

### **9. Implement Admin Panel**
- Create login page (OAuth flow).
- Implement:
- **Post Editor** (Markdown support).
- **Project Manager** (GitHub fetch & manual addition).
- Ensure authentication for protected routes.

---

## **Phase 4: Testing & Deployment**
### **10. Testing**
- Unit tests for backend APIs.
- Integration tests between frontend & backend.
- Manual testing for UI/UX.

### **11. Deployment & Hosting**
- Deploy backend (Fly.io, Railway, or VPS).
- Deploy frontend (Vercel, Netlify).
- Configure domain & SSL.

---

## **Stretch Goals**
- Implement **image upload** for projects.
- Add **commenting system** for posts.
- Implement **dark mode & custom themes**.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.