Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laksharmaa/pixelpost
Gen-AI driven community platform where users can create AI generated Images and share them
https://github.com/laksharmaa/pixelpost
auth0 azure blob-storage cosmosdb express nodejs openai-api react
Last synced: 27 days ago
JSON representation
Gen-AI driven community platform where users can create AI generated Images and share them
- Host: GitHub
- URL: https://github.com/laksharmaa/pixelpost
- Owner: laksharmaa
- Created: 2024-11-08T06:29:43.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-17T05:30:01.000Z (about 1 month ago)
- Last Synced: 2024-12-17T06:26:18.770Z (about 1 month ago)
- Topics: auth0, azure, blob-storage, cosmosdb, express, nodejs, openai-api, react
- Language: JavaScript
- Homepage: https://pixelpost-azure.vercel.app/
- Size: 1020 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PixelPost
![Thumbnail](https://github.com/user-attachments/assets/b63814ec-3055-4bd1-8464-336617d47be1)> PixelPost is a Community Platform where users can create, share, and explore AI-generated images. The application uses React for the client-side, Node.js and Express for the server-side, Azure CosmosDB for data storage, and Azure Blob Storage for image storage. Authentication and authorization are handled using Auth0.
## Features
> - AI-generated image creation using OpenAI's APIπΎ
> - User authentication with Auth0π
> - Personalized user profilesπ€
> - Like and comment on postsππ»
> - Dark mode supportπ
> - Image storage and management with Azure Blob Storageπ·
> - Community showcase for sharing and exploring imagesπΌ
> - Responsive UI for a seamless experience on all devicesπ²## Tech Stack
### Client-Side
**React**: For building the user interface
**Tailwind CSS**: For styling
**Auth0**: For authentication and authorization
### Server-Side
**Node.js**: For server-side JavaScript
**Express**: For building the API
**CosmosDB**: For data storage
**Azure Blob Storage**: For image storage
**Auth0**: For authentication and authorization## Setup
### Prerequisites
- Node.js (v14 or higher)
- npm (v6 or higher)
- Azure account (for Blob Storage)
- Auth0 account
- CosmosDB account### Installation
1. Clone the repository:
```
git clone https://github.com/your-username/pixelpost.git
cd pixelpost
```
2. Install dependencies for both client and server:
```# Install client dependencies
cd client
npm install# Install server dependencies
cd ../server
npm install
```
## Environment Variables
> Create a .env file in both the client and server directories and add the following environment variables:
### *CLIENT*
```
VITE_AUTH0_DOMAIN=your-auth0-domain
VITE_AUTH0_CLIENT_ID=your-auth0-client-id
VITE_CLIENT_SECRET=your-auth0-client-secret
VITE_AUTH0_AUDIENCE=your-auth0-audience
VITE_BASE_URL=http://localhost:8080
```### *SERVER*
```
AUTH0_DOMAIN=your-auth0-domain
AUTH0_AUDIENCE=your-auth0-audience
AZURE_BLOB_CONNECTION_STRING=your-azure-blob-connection-string
AZURE_CONTAINER_NAME=your-azure-container-name
COSMOSDB_URL=your-cosmosdb-url
OPENAI_API_KEY=your-openai-api-key
```## Run the Application
*Client*
```
cd client
npm run dev
```
*Server*
```
cd server
npm start
```
## Folder Structure
```
pixelpost/
βββ client/
β βββ .env
β βββ .eslintrc.cjs
β βββ .gitignore
β βββ index.html
β βββ package.json
β βββ postcss.config.js
β βββ public/
β βββ README.md
β βββ src/
β β βββ App.jsx
β β βββ assets/
β β βββ components/
β β βββ constant/
β β βββ context/
β β βββ index.css
β β βββ main.jsx
β β βββ Pages/
β β βββ utils/
β βββ tailwind.config.js
β βββ vercel.json
β βββ vite.config.js
βββ server/
β βββ .env
β βββ .gitignore
β βββ index.js
β βββ mongodb/
β β βββ connect.js
β β βββ models/
β βββ package.json
β βββ routes/
β β βββ dalleRoutes.js
β β βββ postRoutes.js
β βββ services/
β β βββ azureBlobService.js
β βββ utils/
β β βββ loginOrCreateUser.js
β βββ vercel.json
```## Contributing
> Contributions are welcome! Please submit a pull request for any changes. Lets make it *Creative*π# **Built with sleepless nightsβ**