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.
- 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π²
React: For building the user interface Tailwind CSS: For styling Auth0: For authentication and authorization
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
- Node.js (v14 or higher)
- npm (v6 or higher)
- Azure account (for Blob Storage)
- Auth0 account
- CosmosDB account
- Clone the repository:
git clone https://github.com/your-username/pixelpost.git
cd pixelpost
- Install dependencies for both client and server:
cd client
npm install
# Install server dependencies
cd ../server
npm install
Create a .env file in both the client and server directories and add the following environment variables:
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
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
Client
cd client
npm run dev
Server
cd server
npm start
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
Contributions are welcome! Please submit a pull request for any changes. Lets make it Creativeπ