akahenry / akahenry/akahenry.dev

Project Planning

Abierto
#3 1 comentario 0 reacciones 0 asignados Ver en GitHub
documentation
Lenguaje dominante
CSS
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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**.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.