A locally hosted platform for developers to share, discuss, and refine coding projects through interactive storytelling.
StoryNest addresses the need for community-driven learning and problem-solving within smaller, private networks or organizations. By allowing users to create, tag, and interact with stories, StoryNest fosters a supportive environment where developers can connect, learn from one another, and gain feedback on their work.
Mission: Empowering developers to collaborate, learn, and grow through the art of storytelling.
Vision: To create a thriving community where every developer's journey is shared, celebrated, and enriched by collective knowledge.
- User Authentication - Secure login via Auth0 with social providers and email authentication
- Story Management - Full CRUD operations for creating, reading, updating, and deleting stories
- Story Feed - Browse and discover stories from the community
- Comments - Add, edit, and delete comments on stories
- Reactions - Like and dislike stories to show your feedback
- Tags - Categorize stories with tags for better organization
- User profiles and activity tracking
- Search functionality for users and stories
- Notifications system
- Direct messaging between users
- Export stories as PDF/Word documents
Frontend:
- React 18
- Vite
- React Router DOM
- Auth0 for authentication
- Axios for API calls
Backend:
- Python (FastAPI)
- PostgreSQL database
- Node.js 18+ and npm
- A running StoryNest backend server
- Auth0 account for authentication
-
Clone the repository
git clone https://github.com/your-username/storynest.git cd storynest -
Install dependencies
npm install
-
Configure environment variables
Copy the example environment file and fill in your values:
cp .env.example .env
Edit
.envwith your configuration:VITE_AUTH0_DOMAIN=your-tenant.auth0.com VITE_AUTH0_CLIENT_ID=your_client_id VITE_REDIRECT_URI=http://localhost:5173 VITE_BACKEND_URL=http://localhost:8000
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:5173
- Create a free account at Auth0
- Create a new Single Page Application
- Configure the following in your Auth0 application settings:
- Allowed Callback URLs:
http://localhost:5173 - Allowed Logout URLs:
http://localhost:5173 - Allowed Web Origins:
http://localhost:5173
- Allowed Callback URLs:
- Copy your Domain and Client ID to your
.envfile
storynest/
├── src/
│ ├── api/ # API client and endpoints
│ ├── components/ # Reusable React components
│ ├── context/ # React Context for state management
│ ├── pages/ # Page components
│ ├── assets/ # Images and static assets
│ ├── App.jsx # Main application component
│ └── main.jsx # Application entry point
├── public/ # Static public assets
└── index.html # HTML template
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/stories/ |
Get all stories |
| GET | /api/stories/{id}/ |
Get a specific story |
| POST | /api/stories/ |
Create a new story |
| PUT | /api/stories/{id}/ |
Update a story |
| DELETE | /api/stories/{id}/ |
Delete a story |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/stories/{story_id}/comments/ |
Get comments for a story |
| POST | /api/stories/{story_id}/comments/ |
Add a comment |
| PUT | /api/comments/{id}/ |
Update a comment |
| DELETE | /api/comments/{id}/ |
Delete a comment |
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint- Jay Yong
- Wayne Beckom
This project is private and intended for local/organizational use.
