daytask is a single page application that replicate basic trello features. It is composed of two projects :
The back end is a REST API made with Node JS and Express which is linked to a MongoDB database.
The communication between the API and the database is handled by Mongoose.
This REST API is divided in 3 services :
- AuthService : Authenticate users using a Json Web Token
- BoardService : Manage boards
- InviteService : Manage invitation to boards
The front end is a single page application made in HTML5, CSS3 and Javascript using Vue JS framework.
The application uses Vue X to share states between pages and Vue Router to handle the front end routing.
The front end also uses SASS preprocessor in order to create more maintainable styles for the user interface.
Please note that the current version of daytask is just a minimal viable product created by Damien BOURGEOIS in 8 days.
Some features will be added in the future and improvements will be made to make the project more maintainable and more efficient.
In order to run this application you will need to have the following programs installed on your machine :
- Node JS
- MongoDB
- Yarn or NPM
In /api/config add two files :
- production.json
- development.json
Those files should contain the following keys :
{
"connectionString": "YOUR_MONGO_DB_CONNECTION_STRING",
"JWT_SECRET": "THE_SECRET_OF_YOUR_CHOICE_TO_SIGN_TOKENS"
}
In order to download the project dependencies, in both /app and /api folders you need to run :
yarn install
or
npm install
To run the front end application go in /app folder and run :
yarn serve
or
npm serve
To run the front end application go in /api folder run :
node index.js