Package Repository Website for Composer, see the about page on packagist.org for more.
This project is not meant for re-use.
It is open source to make it easy to contribute. We provide no support if you want to run your own, and will do breaking changes without notice.
Check out Private Packagist if you want to host your own packages.
These steps are provided for development purposes only.
- PHP for the web app
- NPM for the frontend build
- Symfony CLI to run the web server
- MySQL (or Docker) for the main data store
- Redis (or Docker) for some functionality (favorites, download statistics)
- git / svn / hg depending on which repositories you want to support
- Clone the repository
- Install dependencies:
composer install npm install
- Start the web server:
symfony serve
- Start MySQL & Redis:
docker-compose up -d # or somehow run MySQL & Redis on localhost without docker
- Create 2 databases:
packagist
- for the web apppackagist_test
- for running the tests
bin/console doctrine:database:create bin/console doctrine:database:create --env=test
- Setup the database schema:
bin/console doctrine:schema:create
- Run a CRON job
bin/console packagist:run-workers
to make sure packages update.- Run
npm run build
ornpm run dev
to build (or build&watch) css/js files.You should now be able to access the site, create a user, etc.
You can get test data by running the fixtures:
bin/console doctrine:fixtures:load
This will create 100 packages from packagist.org, update them from GitHub, populate them with fake download stats, and assign a user named
dev
(with password:dev
) as their maintainer.To use the search in your local development environment, setup an Algolia Account and configure following keys in your
.env.local
:ALGOLIA_APP_ID= ALGOLIA_ADMIN_KEY= ALGOLIA_SEARCH_KEY= ALGOLIA_INDEX_NAME=
To setup the search index, run:
bin/console algolia:configure bin/console packagist:index
packagist's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
- Start the web server: