A community-driven anime platform where users can explore anime content, watch clips, read story scenarios, rewrite scenes creatively, and interact with other fans.
ReAnime is a creative community platform designed for anime fans who want to do more than only watch content.
Users can explore anime titles, view clips, read important story scenarios, and create their own alternative versions of those scenarios.
The platform supports two creative-writing experiences:
- Actor Mode — users imagine themselves inside the story as a character
- Creator Mode — users rewrite the story from the perspective of the original author
Users can also interact with community submissions through comments, likes, and dislikes.
- Overview
- Main Features
- User Experience
- Technology Stack
- Project Structure
- Getting Started
- Firebase Configuration
- Available Scripts
- Future Improvements
- Author
- Browse anime movies and series
- View anime information and visual content
- Open detailed pages for individual titles
- Explore selected clips and trailers
- Read important story summaries
- Explore key events from anime stories
- View creative submissions from other users
Users can create alternative versions of anime scenarios through two modes.
- Enter the story as an imagined character
- Rewrite events from a personal perspective
- Describe how the story would change with the user involved
- Rewrite the plot as the story creator
- Change events, outcomes, and character decisions
- Publish alternative story directions
- User registration and login
- Firebase Authentication
- Protected application routes
- Persistent user sessions
- User profile pages
- Publish creative scenarios
- Comment on user submissions
- Like or dislike content
- View community responses
- Build an interactive anime-writing community
- View personal profile information
- Manage user-created content
- View published scenarios
- Access account-related features
- Administrative dashboard
- Manage anime content
- Manage platform data
- Control selected community content
The platform is designed around a simple creative flow:
- Browse anime movies and series
- Select an anime title
- Watch available clips
- Read the original story scenario
- Choose Actor Mode or Creator Mode
- Write an alternative scenario
- Publish the submission
- Receive comments, likes, and dislikes from the community
| Technology | Purpose |
|---|---|
| React | Component-based user interface |
| Vite | Development server and production build tool |
| React Router | Client-side routing |
| Firebase Authentication | Registration, login, and user sessions |
| Cloud Firestore | Application data storage |
| Firebase Storage | Media and file storage |
| CSS | Responsive styling and interface design |
src/
├── components/
│ ├── homeSections/
│ ├── layout/
│ └── movie/
├── pages/
│ ├── admin/
│ ├── home/
│ ├── login-register/
│ ├── movie/
│ └── profile/
├── services/
├── context/
├── router/
└── main.jsx
| Folder | Purpose |
|---|---|
components |
Reusable interface components |
homeSections |
Sections displayed on the homepage |
layout |
Navbar, footer, and shared page layout |
movie |
Anime and movie-related components |
pages |
Main application pages |
admin |
Administrative dashboard |
services |
Firebase and data-access functions |
context |
Shared React application state |
router |
Application route configuration |
Install the following before running the project:
- Node.js 18 or newer
- npm
- A Firebase project
git clone https://github.com/mhmdkh1905/ReAnime.git
cd ReAnimenpm installCreate a .env file in the project root.
Add your Firebase configuration values:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_idUse the exact variable names expected by your Firebase configuration file.
npm run devOpen:
http://localhost:5173
ReAnime uses Firebase for authentication, application data, and media storage.
Used for:
- User registration
- User login
- Session management
- Protected application features
Used for storing data such as:
- Anime information
- User profiles
- Creative scenarios
- Comments
- Likes and dislikes
Used for storing media such as:
- User-uploaded images
- Profile images
- Anime-related media
Do not commit private Firebase service-account credentials or administrative keys.
Firebase web configuration values may be visible in frontend applications, but your Firestore and Storage security rules must prevent unauthorized access.
npm run devnpm run buildnpm run previewnpm run lint- Add search and advanced anime filters
- Add bookmarks and favorite anime lists
- Add notifications for comments and reactions
- Add scenario categories and tags
- Improve moderation tools
- Add report functionality for inappropriate content
- Improve accessibility
- Add automated tests
- Add loading skeletons and better error states
- Improve mobile and tablet layouts
- Add multilingual support
- Add content recommendations
- Add pagination for community submissions
Mohammad Khateeb
This project was created for educational and personal portfolio purposes.