Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smerth/symfony-blog-and-job-board-demo-app
This is a Symfony app demonstrating two bundles. A blog bundle and a job listings board. User authentication, an admin back-end, a menu system, and data fixtures are implemented
https://github.com/smerth/symfony-blog-and-job-board-demo-app
php symfony
Last synced: 1 day ago
JSON representation
This is a Symfony app demonstrating two bundles. A blog bundle and a job listings board. User authentication, an admin back-end, a menu system, and data fixtures are implemented
- Host: GitHub
- URL: https://github.com/smerth/symfony-blog-and-job-board-demo-app
- Owner: smerth
- License: mit
- Created: 2016-02-05T22:53:03.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-09-22T21:51:42.000Z (over 8 years ago)
- Last Synced: 2024-11-15T02:24:02.772Z (2 months ago)
- Topics: php, symfony
- Language: JavaScript
- Homepage:
- Size: 2.9 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Symfony Demo
========================Clone the app
```bash
git clone https://github.com/smerth/symfony-blog-and-job-board-demo-app.git
```Set up empty database
Install dependancies
```bash
composer install
```create the schema in your empty database
```bash
app/console doctrine:schema:create
```install assets
```bash
app/console assets:install
```clear cache
```bash
app/console cache:clear
```run the app
```bash
app/console server:run
```Now you have an fully working app. But there is no data...
Create dummy users, blog posts and job listings
```bash
app/console doctrine:fixtures:load
```Test the login using the admin credentials and
Users are created from data loaded from
@ /app/Application/Sonata/UserBundle/DataFixtures/ORM/LoadUserData.yml
```yml
# src/Application/Sonata/UserBundle/DataFixtures/ORM/LoadUserData.yml
useradmin:
username: admin
firstname: David
lastname: Jacquel
date_of_birth: 1980-10-20
gender: m
phone: +99999999999
email: [email protected]
plainPassword: admin
isAdmin: trueuseralice:
username: alice
firstname: Alice
lastname: Bonnon
date_of_birth: 1968-12-27
gender: f
phone: +33675982044
email: [email protected]
plainPassword: aliceuserbob:
username: bob
firstname: Bob
lastname: Leponge
date_of_birth: 1976-10-24
gender: m
phone: +33898982044
email: [email protected]
plainPassword: bob
```## What can you do on the site?
Users with admin status can enter and publish blog posts. Admin users can also log in and manage the site content: blog posts, comments, job listings and users.
Regular users can login and comment on blog posts.
Anonymous users should be able to post a job listing (currently broken.)
# About
This project started out as a study site for Symfony based on the Symfony Demo installation. Then a job-board was added based on the Jobeet tutorial.
Each App has its own folder:
- Symfony Demo -> `src/AppBundle`
- Jobeet Tutorial -> `src/Sm/JobsBundle`
So you can uninstall either or both. You can add your own app, or use this project to see how I put things together (which may or may not be the best way...)
`app/Application/Sonata/UserBundle` is where you will find the admin backend installed since an admin backend is shared with any other app you install in the project.
`app/Resources` is where all the templating and front end work is done. The Jobeet tutorial has its own folder `JobsBundle` but the Symfony Demo (the Blog app) relies on templates in `app/Resources/views`
`Resources` could be better organized so each app has its own folder (like JobsBundle.) That would make is easier to add and delete apps as needed.
## Projects
Some of the projects I have integrated into this Symfony demo are:
- FOS User Bundle
- FOS Rest Bundle
- Sonata Admin Bundle
- Slugify
- Faker
- Alice
- KPN Menu
- Assetic
- Scssphp
- Php markdown
- Swiftmailer## Data
The demo data is generated by each app's appFixture.php file. Jobs and blog posts use fakr data but users data employs an AppFixture that formats according to the needs of FOS User bundler User class.
So, with a little magic from Doctrine you can get it up and running in a flash.
## Caveat
This is a learning project for Symfony and I find the documentation on Symfony a bit thin, so no guarantees about what is best practice.