Adonis rally is a forum created using VueJs and AdonisJs. The API of the framework is written is Adonis and checkout the rally-frontend repo to grab the VueJs code.
Work in progress
- Show a list of questions on the homepage.
- Ability to filter questions. Based upon channel and author.
- Ability to sort by Latest, Popular.
- Ability to create new questions.
- Registration/Login.
- Email verification.
- Password reset.
- Profile management.
- Post answers to questions.
- Choose favourite answer.
Setting up the project is quite easy. Start by cloning the repo.
git clone https://github.com/adonisjs/adonis-rallyMake install will perform all the require steps to setup the application for you.
make installnpm run devTests are divided into multiple categories with Unit and Functional tests. Unit tests tests the isolated Repositories/Services, whereas Functional tests comes from outside in to test the controllers/routes.
Testing environment is configured with the help of .env.test file. You are free to add/modify any variables here and they will be picked while running tests.
To run all tests
npm run testTo run unit tests
npm run test -- --filter=unitTo run functional tests
npm run test -- --filter=functionalTo setup the project for first time. It will run following commands
- Copy .env.example to env
cp .env.example .env. - Install package from npm.
npm install. - Run all migrations.
node --harmony_proxies ace migration:refresh - Seed database with a dummy user and channels.
node --harmony_proxies ace db:seed
Update the project by removing and re-installing all dependencies and re-running migrations.
🔥 update command will clear the database entries, so make sure you run it carefully.
Feel free to fork and work on the missing parts of the application and create a PR for same. Make sure to work on small pieces of code with decent testing coverage before creating a PR.
- User Registeration/Send Verification Email
- Email verification
- Re-send verification email
- Login
- Create a new question (when loggedin)
- Paginate questions on the homepage.
- Sort questions by latest and popular on homepage
- Filter questions by author/channel.
- Update question (when loggedin and question owner)
- Delete question (when loggedin and question owner)
- View a single question.
- Add answer to a given question (when loggedin)
- Paginate answers on a given question.
- Edit/Update answer (when loggedin and answer owner)
- Delete answer (when loggedin and answer owner)
- Mark answer as a best answer.