Taskly backend project developed with JavaScript(Express.js) designed to support the Taskly application ecosystem. This service provides the necessary APIs, business logic, and data handling for the Taskly front-end and its features.
Taskly Backend handles core logic, user management, task operations, and analytics for the Taskly productivity suite. It is built for seamless integration with a JavaScript/TypeScript front-end and is suitable for deployment as a cloud-based or local service.
- User authentication and authorization
- CRUD operations for tasks and categories
- Fully RESTful API design with JSON responses
- Integrated with AI-based task task advisor
- Designed for extensibility and easy deployment
taskly-backend/
├── config/ # Configuration files (arcjet, environment)
├── controllers/ # Main controllers (auth, tasks, user)
├── database/ # Connect to database
├── middleware/ # All Middlewares (arcjet, auth, error)
├── models/ # Models for (tasks, user)
├── routes/ # All routes like (auth, tasks, user)
├── app.js #Main file for controlling server
├── .env.development.local #Environment variables for development mode file for controlling server
├── .env.production.local #Environment variables for production mode file for controlling server
├── package.json
└── README.md
-
Clone the repository:
git clone https://github.com/rahel-webdeveloper/taskly-backend.git cd taskly-backend
-
Install dependencies:
npm install
-
Configure environment:
- Add to
.env.(development/production).local
all below envirment variables.
- Add to
PORT=5000
NODE_ENV="development"
DB_URI="your db uri"
JWT_SECRET="your jwt secret"
JWT_EXPIRES_IN="your jwt expires time"
ARCJET_KEY="ajkey_092ftm9ccefz"
ARCJET_ENV="development/production"
Start the backend server (default port is typically 5000):
npm start
Or, for development with auto-reload:
npm run dev
The backend will be accessible at http://localhost:5000/
(or your configured port).
Some API Emdpoits are below.
POST /auth/sign-up
– Register a new userPOST /auth/sign-in
– Authenticate user and retrieve tokenPOST /auth/sign-out
– Sign Out userPOST /auth/remove-account
– Deleting user account with validation of password.
GET /tasks
– Retrieve all tasks for the authenticated userPOST /tasks
– Create a new taskPUT /tasks/:id
– Update a taskDELETE /tasks/:id
– Delete a task
-
GET /users
– Retrieve all users only to admin user -
GET /users/:id
– Retrieve data for the authenticated user -
...and more depending on project scope
Contributions, issues, and feature requests are welcome! Please open an issue or submit a pull request.
This project is public and currently does not specify a license.
- Made by Khatibullah Rahel