# data[].attributes.body
12th May, 3PM - one hour.

10th May, 8:20PM - three hours.

7th May, 10PM - two hours.

6th May, 7PM - one hour.

1st May, 9PM - one hour.

# data[].attributes.body
User Registration (Sign Up)

To create an account, the user needs to provide a valid email address and password.
The password must be between 8 and 24 characters long and contain at least one lowercase letter, one uppercase letter, one number, and one special character.
If the email and password meet the requirements, we'll store the user's information in a database.

User Authentication (Login)

When a user logs in, they'll need to provide their email and password.
We'll use the same validation requirements for the email and password as we did during registration.

User Logout

When the user is done using the program, they can log out.
Logging out will destroy the user's JWT and redirect them to the homepage.

# data[].attributes.body
Number of projects you have

Number of tasks you have

Number of completed tasks

Number of invitations you have received

# data[].attributes.attachment_caption
An example of using matplotlib and numpy

# data[].attributes.body
The interpreter works for both the guest and the user, however, the user has more features that they can use.

The interpreter allows the use of many Python modules, such as:

1. Time, math, copy.

2. Data Analysis modules like numpy, pandas, or even matplotlib.

A user uses the interpreter to do the tasks that they have created or the tasks they are collaborators in, giving the user such flexibility.

# data[].attributes.body
It's a box on the code page, helping the user solve the task

1. When the owner creates the project, he will set up a fair number of tasks.

2. The owner sets the description, hint and answer for each task.

3. When the user clicks on any task, you display it on the code page and show the task box and the description of the task appears by default in the task box.

4. The user can click between description, hint and answer clicks but there are conditions,

(A) the user cannot access the answer before clicking on the hint.

(B) and can only access the answer after waiting 30 seconds from the time of click the hint.

# data[].attributes.body
in our database schema, we have 4 collections
1- invitations: has "invitedBy", "sentTo", "token", "accepted",
"deleted", "project", "taskId", "link" attributes

2- projects: has "projectName", "owner", "collaborators",  "description", "deleted" attributes

3- tasks: has "taskTitle", "projectId", "collaborators", "deleted", "description", "completed", "pseudoCode", "evaluation", "notes" attributes

4- users: "firstName", "lastName", "active", "email", "password", "cloudAccounts", "points" attributes

# data[].attributes.body
node-notifier is a popular Node.js library that allows you to send cross-platform desktop notifications. It provides a simple and consistent API for displaying notifications on various operating systems, including Windows, macOS, and Linux.

it have many features like
Rich notification options ,Cross-platform compatibility , Notification persistence , Event handling  ,Support for images

# data[].attributes.headline
Managing File and Folder Operations in Node.js and Dropbox

# data[].attributes.subject
Managing File and Folder Operations in Node.js and Dropbox

# data[].attributes.body
1. Create New File : A function for creating a new file in a specified folder on the server .

2. Create New Folder : A function for creating a new folder on the server .

3. Upload Dropbox : A function for uploading all local files in the specified folder to the specified Dropbox folder using the Dropbox API .

4. Download Zip File : A function for creating a compressed zip file of a specified directory on the server, and then downloads the file to the client .

# data[].attributes.body
1.We create an invention for the person who assists you with your task, and he will participate in the same Task.
2.The invitation can be delivered through two methods, the first being direct delivery via email, and the second involving the use of the Notifier package.
3.An invitation is produced in the database when an email is sent, and it contains information about who sent it to whom and whether or not it was accepted.

# data[].attributes.body
Enables multiple users to work together on the same task but it's not real-time "simultaneous", by inviting and allowing the user to access another user's task. When a user invites another user, an invitation is created and sent to the invitee's email address.

If the invitation is accepted, the invitee becomes a collaborator on the task, and their user ID is added to the tasks schema in the collaborators' property.

# data[].attributes.body
https://www.figma.com/file/J8unttrd7hJbnFnGjst8qU/Code-editor?node-id=0%3A1&t=8qaZA4bgrSMPBYsf-1

# data[].attributes.body
25th April, 9PM - one hour.

18th April, 12AM - one hour.

10th April, 11PM - two hours.

7th April, 9PM - one hour.

6th April, 9PM - one hour.

# data[].attributes.attachment_link.title
Sign up | Miro | Online Whiteboard for Visual Collaboration

# data[].attributes.attachment_link.description
Scalable, secure, cross-device and enterprise-ready team collaboration whiteboard for distributed teams. Join 35M+ users from around the world

# data[].attributes.attachment_link.title
Sign up | Miro | Online Whiteboard for Visual Collaboration

# data[].attributes.attachment_link.description
Scalable, secure, cross-device and enterprise-ready team collaboration whiteboard for distributed teams. Join 35M+ users from around the world

# data[].attributes.body
Back end:-

Task Module - getTask⁽¹⁾, editTask⁽²⁾, deleteTask⁽³⁾, createTask⁽⁴⁾.

Project Module - getProject⁽⁵⁾, editProject⁽⁶⁾,deleteProject⁽⁷⁾, createProject⁽⁸⁾.

Edit Profile⁽⁹⁾.

Python Compiler - Research⁽¹⁰⁾.

Centralized Database⁽¹¹⁾.

Front end :-

Registration Form⁽¹²⁾.

Home Page⁽¹³⁾.

Code Editor Output⁽¹⁴⁾.

User Profile Page⁽¹⁵⁾.

Code Editor Side Bar(16).

# data[].attributes.body
High monthly subscription fees, many unsupported programming languages and the lack of collaborative features are only few of the problems of the current competitors.

# data[].attributes.body
The solution is represented with creating a project that fills missing needs of the customers. Hence Let's Code was born.

# data[].attributes.body
Due to covid 19, the demand for collaborative systems have skyrocketed. Most of the current online IDEs projects are robust, but a high percentage of them don't support collaborative features nor do they support multiple programming languages.

# data[].attributes.body
Back end:-

Compiler⁽¹⁾.

Add Project⁽²⁾.

Add Task⁽³⁾.

Delete Project⁽⁴⁾.

Delete Task⁽⁵⁾.

Edit Profile⁽⁶⁾.

Sidebar - Title Section JS⁽⁷⁾.

Work on previous sprint notes⁽⁸⁾.

Enhance Visuals⁽⁹⁾.

Update getTask, updateTask, getProject, updateProject functions⁽¹⁰⁾.

Front end:-

User Profile Page⁽¹¹⁾.

Add Project - Modal⁽¹²⁾.

Add Task - Modal⁽¹³⁾.

# data[].attributes.body
28th March, 12AM - one hour.

22nd March, 7PM - one hour.

21st March, 10PM - two hours.

19th March, 9PM - one hour.

14th March, 10PM - one hour.