A modern African digital publishing house — browse, preview and discover books from African voices, built with React, TypeScript and Supabase.
# Lignes d'Afrique
> A digital publishing house for African voices — books, reflections and generous ideas made to be read slowly, shared freely and kept close.
---
## About the Project
**Lignes d'Afrique** is a modern web platform for an African digital publishing house. It brings together a curated book catalogue, free chapter previews, a reading journal and a newsletter — all wrapped in an elegant, typography-first design that reflects the richness of African literary culture.
The platform is built as a single-page application with a focus on warm aesthetics, smooth interactions and accessible markup.
### Key Features
- **Book catalogue** — browsable grid with category filters and live search
- **Free previews** — modal reader for the first pages of each book
- **Newsletter signup** — email subscriptions stored in Supabase with duplicate-entry handling
- **Reading journal** — editorial split section for essays and reflections
- **Animated footer** — dark modern footer with social links (Instagram, Facebook, LinkedIn, X) and hover animations
- **Responsive design** — fully adaptive from mobile to wide desktop
- **Professional logo** — transparent PNG lockup with brand typography (no background bleed)
---
## Tech Stack
| Layer | Technology |
|---|---|
| Framework | React 19 |
| Language | TypeScript |
| Build tool | Vite |
| Backend / DB | Supabase (newsletter subscribers table) |
| Styling | Plain CSS with custom properties (no CSS framework) |
| Fonts | Playfair Display + Montserrat via Google Fonts |
---
## Project Structure
```
lignes-dafrique/
├── public/
│ ├── favicon.svg
│ ├── icons.svg
│ └── logo/
│ ├── image.png # Original logo
│ └── image-transparent.png # Background-removed version used in UI
├── src/
│ ├── assets/
│ │ └── hero.png
│ ├── App.tsx # Main application component
│ ├── index.css # All styles (design tokens + components)
│ └── main.tsx …