A Trello Clone - Built with React, Redux, Express, and MongoDB.
📢: I'm looking for maintainers, feel free to reach out to me on hello@ayushaggarwal.com
if you're interested.
Demo Account Credentials
Username - gozmit
Password - gozmit
- Create, Modify and Delete boards
- Create, Modify and Delete cards
- Create, Modify and Delete lists
- Move card items within lists
- Move card items across lists
- Ordering of list items
- Activity log with active timestamps for each user events
- Customize background images or color for individual boards
- User Authentication
- Clone the repository
git clone https://github.com/ayushagg31/Trellis.git
cd Trellis
- Install dependencies
npm i && cd client && npm i
- Create .env file
REACT_APP_CLIENT_KEY="YOUR API KEY" // Unsplash API Key
- Create dev.env for development and test.env for testing purpose
cd ../config
(
echo PORT=1313
echo DATABASE_URL="MongoDB Connection String"
echo JWT_SECRET="YOUR JWT TOKEN"
echo NODE_ENV=development
) > dev.env
- Go into
client/package.json
and replace proxy with your server port
"proxy": "http://localhost:1313"
- Run the project
npm run trellis
- React - A JavaScript library for building user interfaces
- Redux - State management
- Material UI - UI
- React-beautiful-dnd - Accessible drag and drop for lists
- React Router - Routing library for react
- Moment - Library for manipulating dates and time
- lodash - JavaScript utility library for modularity, performance, etc.
- NodeJs - Backend framework
- MongoDB - Database
- Mongoose - Mongodb object modeling for node.js
- Express - Node.js web application framework
- Axios - Promise based HTTP client for the browser and node.js
- Jsonwebtoken - Decode, verify and generate JWT.
- bcryptjs - Password hashing algorithm library
- Supertest - HTTP APIs Testing library
- Jest - JavaScript Testing Framework
- sinon - Standalone test fakes, spies, stubs and mocks library
- Show your support by ⭐ the project.
- Submit pull requests and improve the repo overall quality
- Read Contributors guidelines before submitting a PR or creating a new issue.