A social networking platform designed to empower Filipino artists, especially up-and-coming and amateur artists, by connecting them seamlessly with professional artists.
- Brush Drips Reward System: Points-based reward system for active "artchivists"
- Multi-format Posting: Customizable posting system supporting novels, images, and video media
- Gallery Creation Tool: Built-in gallery creation and organization
- Avatar Customization: High degree of freedom in avatar personalization
- Social Networking: Connect with artists across experience levels
- Framework: React with TypeScript
- Styling: TailwindCSS with DaisyUI components
- Framework: Django with Django REST Framework (DRF)
- Authentication: Django Simple JWT with HTTP-only cookies
- Caching: Redis
- Server: Daphne (handles both async and synchronous requests)
- Database: PostgreSQL
- Containerization: Docker
- Orchestration: Docker Compose
- Environment: Containerized development environment
- Docker
- Docker Compose
- Node.js (for local development without containers)
- Python 3.8+ (for local development without containers)
-
Clone the repository
git clone https://github.com/your-username/artchive.git cd artchive -
Set up environment variables
cp .env.example .env ENV_EXAMPLE=123
-
Start with Docker Compose (Recommended)
docker-compose up --build
This will start:
- Backend server on http://localhost:8000
- Frontend server on http://localhost:5173
- Redis cache
- PostgreSQL database (within a container)
-
Alternative: Manual Setup
# Backend setup cd backend pip install -r requirements.txt python manage.py migrate python manage.py runserver # Frontend setup (in another terminal) cd frontend npm install npm run dev
artchive/
├── backend/ # Django backend
│ ├── artchive/ # Django project
│ ├── core/ # Core app
│ ├── media/ # Media files (development)
│ ├── common/ # For utilities
│ ├── manage.py
│ ├── Dockerfile
│ └── requirements.txt
├── frontend/ # React + Typescript
│ ├── public/
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── context/
│ │ ├── hooks/
│ │ ├── lib/
│ │ ├── types/
│ │ ├── utils/
│ ├── package.json
│ ├── tsconfig.json
│ ├── Dockerfile
│ └── vite.config.ts
├── docker-compose.yaml
└── README.md
DJANGO_SETTINGS_MODULE=secret
DJANGO_SECRET_KEY=secret
DJANGO_DEBUG=secret
ADMIN_USER=secret
ADMIN_PASS=secret
ADMIN_EMAIL=secret
JWT_SECRET_KEY=secret
JWT_ALGORITHM=secret
AUTH_COOKIE_SECURE=secret
POSTGRES_DB=secret
POSTGRES_USER=secret
POSTGRES_PASSWORD=secret
POSTGRES_HOST=secret
POSTGRES_PORT=secret
LC_ALL=secret
LANG=secret
VITE_API_URL=secret
Will fill in info soon...We welcome contributions from the community! Please read our Contributing Guidelines for details on our code of conduct and the process for submitting pull requests.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Will fill in info soon...
- Filipino artist community for inspiration
- Contributors and maintainers
- Open source libraries that made this project possible
If you have any questions or need support, please:
- Check our documentation
- Open an issue
- Contact us at support@artchive.ph
ArtChive is maintained by: