Rrwewe
Rrwewe
Video LINK:
https://drive.google.com/file/d/1cfdnAl4VtXwcYkl1fJfEaXdoKm6woHeV/vie
w?usp=sharing
Main requirements:
1. Authentication:
● Users are able to register an account by providing name, photoURL,
email, and password using firebase .
● Users are able to login using social login. Implement at least one social
login(like google login, github sign up) .
b. Assignment deleting:
● Only the user is able to delete an assignment who has created
the assignment. A user is not able to delete assignments which
are created by other users .
c. Assignment Updating:
● Any user is able to update any assignment .
[optional : it’s recommended to let the user update an
assignment task who has created it. Follow hints of delete
operation]
● While a user will try to update an assignment the input fields of
updated assignment form will be filled automatically with previous
assignment data [automatically filled is optional . But you
should try it ]. And users can change the input field data and can
update with clicking on update assignment button.
● While the assignment is updated, show a success message and
redirect the user to the all assignment page. [Redirecting is
optional]
4. Marking assignment:
● The submitted assignment page will contain all submitted assignments
by the users .
● Only pending assignments will be shown on the submitted assignments
page.
● Every submitted assignment will have the assignment title, assignment
marks, examinee name, and a “give mark” button.
● By clicking on the give mark button it will open a modal or will navigate
to a new page. And a user will be able to see the google drive link(pdf
file) , note submitted by examinee. There will be a marks input field and a
feedback input field and a submit button for giving marks.
● User is able to give a mark after clicking on the submit button .
● After marking an assignment the status of the assignment will be changed
to completed .
Pages: ***All the pages mentioned below are must be created***(If you find any
page are missing. Then you can add.)
1. Home page(public page) - will have a navbar, footer, a banner section, a
feature section, and a faq section.
a. Navbar - will have a logo, assignments, login, register link before
logged in and will have logo, create assignments, assignments, my
assignments, submitted assignments links, log out button with user
image(while hover on the user image it will show the user name)
b. Banner section - Design it based on the project theme
c. Feature section - will have few cards of feature
d. Faq - will have some frequently asked questions
e. Footer - will have copyright, and relevant links
2. Create assignment page(private page) - will have functionality mentioned
above .
3. All Assignments page(public page) - will have all the assignments
created by any user and it will have functionality mentioned above.
4. My assignment page(private page) - will have all assignments which are
submitted by the specific user. For example, if you logged in you will only
see your submitted assignment on the my assignment page
a. You can see assignment title, assignment status, assignment
marks, your obtain marks, feedback(if you got the marks)
5. Submitted assignment page(private page) - will have all the pending
assignments submitted by any user and have the functionality mentioned
above.
6. Application will have a few more dynamic pages(private pages) like
update assignment page, viewing a single assignment page.
7. Application will have login, and registration page(both are public pages)
Bonus Requirements:
1. Commits & readme:
● Minimum 18 meaningful git commits on the client-side repository
● Minimum 8 meaningful commits on the server-side repository
● Create a readme for client-side and write about your project (at least 5
features with bullet points). **Remember to add your client-side live link of
your website here**
2. Previewing docs or pdf:
● In the submitted assignment page show preview for every submitted
assignment resource preview(which pdf link was submitted while a user
submitted an assignment) in the modal.
Additional information:
1. You can host images anywhere.
2. You can use vanilla CSS or any library.
3. Try to host your site on Firebase (Netlify hosting will need some extra
configurations)
4. Host your server-side application on Vercel. If needed, you can host somewhere
else as well.
5. Make Sure you deploy server-side and client-side on the first day. If you have
any issues with hosting or GitHub push, please join the "Github and deploy"
related support session.
What to submit:
1. Your client-side code GitHub repository
2. Your server-side code GitHub repository
3. Your live website link
Some Guidelines:
1. Do not waste much time on the website idea. Just spend 15-20 minutes deciding,
find a sample website, and start working on it.
2. Do not waste much time finding the right image. You can always start with a
simple idea. Make the website and then add different images.
3. Don't look at the overall task list. Just take one task at a time and do it. Once it's
done, pick the next task. If you get stuck on a particular task, move on to the next
task.
4. Stay calm, think before coding, and work sequentially. You will make it.
5. Be strategic about the electricity issue.
6. use chat gpt to generate JSON data. You can use chatGPT for Other purposes
as well.