⭐ If you like this project, please give this repo a star — it helps more people discover this project.
Tip
For general information about Coneshare and how to install, please visit Coneshare on Github.
This is the main repository for the Coneshare server. It contains the backend services (written in Python and Go) and the frontend service (written in React).
Coneshare is built with a modern, maintainable, and scalable technology stack suitable for a secure, on-premise environment.
- Backend (Python):
- Framework: Django, Django REST Framework
- Asynchronous Tasks: Celery with Redis as the message broker
- Authentication: JSON Web Tokens (JWT) via
djangorestframework-simplejwt
- File Server (Go):
- A dedicated service written in Go to handle all secure file I/O operations (uploads, downloads, and deletions), separating file management from the main application's business logic.
- Frontend:
- Framework: React (Vite)
- Styling: Tailwind CSS with shadcn/ui components
- API Communication: Axios with interceptors for automatic token refresh
- Database: PostgreSQL
- Deployment: Docker Compose for easy, single-command deployment
- Testing: Pytest (backend) and Vitest/React Testing Library (frontend)
For more details, see the Technology Stack Documentation.
Visit the docs for a more in-depth guide on how to get started.
-
Clone the repository:
git clone git@github.com:coneshare/coneshare.git cd coneshare -
Configure environment variables: Copy the example environment file.
cp .env.template .env
Make sure to review and update the values in
.envas needed. -
Build and run the application: Use the
makecommands to build the Docker images and start all services in the background.make build make up
-
Run database migrations: Apply the initial database schema.
make migrate
-
Create a superuser: Create an initial admin account to log in with.
make superuser
Follow the prompts to set a username, email, and password.
- Frontend Application: http://localhost:5173
- Backend API: http://localhost:8000/api/v1/
Log in using the superuser credentials you created.
backend/: Contains the Django application, including models, views, and services.core/: Contains the dedicated Go file server for handling all file I/O operations.frontend/: Contains the React SPA, including components, pages, and services.docs/: Contains project documentation, including architectural decisions, data models, and implementation plans.docker-compose.yml: Defines the services, networks, and volumes for the application stack.Makefile: Provides convenient shortcuts for common development tasks.
Contributions are welcome! Please feel free to open an issue or submit a pull request.
This project was built with the assistance of Aider, an AI-powered pair programmer. Special thanks to the Aider project for its powerful capabilities in code generation and refactoring.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find a security-related issue, please contact dev@coneshare.com immediately.
