| [dc383dd] | 1 | # ChapterX
|
|---|
| 2 |
|
|---|
| 3 | ## About
|
|---|
| 4 |
|
|---|
| 5 | ChapterX is an AI-powered creative writing platform that integrates writing assistance, collaborative tools, and social networking features to help writers increase their productivity. Each chapter includes a rating system so authors can receive continuous feedback on their work. Writers get full control over their stories through a comprehensive user system, with profile analytics showing follower growth and AI-generated suggestions to improve writing quality.
|
|---|
| 6 |
|
|---|
| 7 | The platform consolidates all essential writing operations into a single environment — from managing private drafts and collaborating with others, to publishing stories and engaging with readers. Real-time feedback from the community enables writers to improve their work continuously, while an intuitive interface adapts to different user types and skill levels.
|
|---|
| 8 |
|
|---|
| 9 | ### User Types
|
|---|
| 10 |
|
|---|
| 11 | | Role | Access |
|
|---|
| 12 | |------|--------|
|
|---|
| 13 | | **Regular User** | Browse and read public stories, leave comments and likes |
|
|---|
| 14 | | **Writer** | Create and manage stories, access private drafts, collaboration tools, and analytics |
|
|---|
| 15 | | **Admin** | Full system access — manage users, moderate content, oversee platform operations |
|
|---|
| 16 |
|
|---|
| 17 | ### Key Features
|
|---|
| 18 |
|
|---|
| 19 | - AI-powered writing assistance and suggestions
|
|---|
| 20 | - Advanced text editor with real-time collaboration
|
|---|
| 21 | - Permission-based story management
|
|---|
| 22 | - Chapter-level rating and feedback system
|
|---|
| 23 | - Profile analytics (follower growth, engagement)
|
|---|
| 24 | - Reading list functionality
|
|---|
| 25 | - Story planning tools
|
|---|
| 26 |
|
|---|
| 27 | ### Tech Stack
|
|---|
| 28 |
|
|---|
| 29 | | Layer | Technology |
|
|---|
| 30 | |-------|------------|
|
|---|
| 31 | | Frontend | React + TypeScript |
|
|---|
| 32 | | Backend | ASP.NET Core (.NET) |
|
|---|
| 33 | | Database | PostgreSQL |
|
|---|
| 34 | | Containerization | Docker |
|
|---|
| 35 |
|
|---|
| 36 | ---
|
|---|
| 37 |
|
|---|
| 38 | ## Setup Instructions
|
|---|
| 39 |
|
|---|
| 40 | ### Clone the Repository
|
|---|
| 41 |
|
|---|
| 42 | ```bash
|
|---|
| 43 | git clone https://github.com/kristina/chapterx
|
|---|
| 44 | ```
|
|---|
| 45 |
|
|---|
| 46 | ---
|
|---|
| 47 |
|
|---|
| 48 | ## Project Structure
|
|---|
| 49 |
|
|---|
| 50 | ```
|
|---|
| 51 | chapterX/
|
|---|
| 52 | ├── chapterx-frontend/ # React + TypeScript frontend
|
|---|
| 53 | ├── ChapterX.API/ # ASP.NET Core Web API
|
|---|
| 54 | ├── ChapterX.Application/ # Application layer (MediatR)
|
|---|
| 55 | ├── ChapterX.Domain/ # Domain entities & interfaces
|
|---|
| 56 | └── ChapterX.Infrastructure/ # EF Core, repositories
|
|---|
| 57 | ```
|
|---|
| 58 |
|
|---|
| 59 | ---
|
|---|
| 60 |
|
|---|
| 61 | ## Database
|
|---|
| 62 |
|
|---|
| 63 | Before starting the applications, create and populate the database by running the `ddl.sql` and `dml.sql` scripts in an appropriate environment such as DBeaver, pgAdmin 4, or similar.
|
|---|
| 64 |
|
|---|
| 65 | ---
|
|---|
| 66 |
|
|---|
| 67 | ## Backend
|
|---|
| 68 |
|
|---|
| 69 | ```bash
|
|---|
| 70 | cd ChapterX.API
|
|---|
| 71 |
|
|---|
| 72 | # Copy the example config and fill in your database credentials and JWT key
|
|---|
| 73 | cp appsettings.Development.json.example appsettings.Development.json
|
|---|
| 74 |
|
|---|
| 75 | # Run the backend
|
|---|
| 76 | dotnet run --project ChapterX.API
|
|---|
| 77 | ```
|
|---|
| 78 |
|
|---|
| 79 | The API will be available at **https://localhost:7125**.
|
|---|
| 80 |
|
|---|
| 81 | ---
|
|---|
| 82 |
|
|---|
| 83 | ## Frontend
|
|---|
| 84 |
|
|---|
| 85 | ```bash
|
|---|
| 86 | cd chapterx-frontend
|
|---|
| 87 |
|
|---|
| 88 | # Install dependencies
|
|---|
| 89 | npm install
|
|---|
| 90 |
|
|---|
| 91 | # Start the app
|
|---|
| 92 | npm run dev
|
|---|
| 93 | ```
|
|---|
| 94 |
|
|---|
| 95 | The app will be available at **http://localhost:5173**.
|
|---|