Full-Stack Presentation Checklist

Please Login

Login

[error]

Forgot Password?

Full-Stack Presentation Checklist

Please Enter a New Password

Reset Password

[error]

Cancel

Full-Stack Presentation Checklist and Validation Form

Change Password

Welcome,

Below you will find everything you need to know in order to prepare for your full-stack final project.  Please read carefully the rules below, and when you are ready to proceed, you can start checking off the confirmation conditions as you proceed in the development.

Once all the conditions are checked off, the validation button will be available for you.  Clicking that validation button confirms that you have completed your project and are ready to present it to the panel of judges.

Should you have any questions, please feel free to reach out, and we will be glad to assist you.

Good luck to you!

Rules for the development of the full-stack final project

- Your project does not need to be an e-commerce application, although a complete e-commerce is a perfectly valid project.

- You can create an application that manages a company's workflow (CRM or ERP) as long as all the conditions are met.

- Games are fun and a great choice.  If you go that route, you will need to use WebSockets so that 2 players (or more) can play together.
  Once again, make sure that all conditions below are met.

- Your project needs at least 2 major functionalities.  In an e-commerce, that would be purchasing articles (cient-side) and managing inventory (admin-side).

- Your project needs at least 5 minor functionalities.  This includes adding a different shipping address than the one on file, discount coupon at checkout, rating articles purchased, inter-organization messaging, prioritizing tasks, profile images, etc.

- Using the internet for research is encouraged and praise-worthy.  Please use Stackoverflow as much as you can.  However, you MUST understand the solution before implementing it into your project.

- When structuring your databases, you must use one "primary" method, for example, MongoDB, and a "secondary" method, for example, mySQL.  The secondary method of your choice only needs one table/collection to prove your knowledge in the technology.


- Your application must be able to make a monitary transaction.  If your application is not of a payment-nature, that is totally fine, but you will need to add this anyways.  Include, for example, a donation module for your favorite charity organization.  In games, you can add a token system to allow users to play.  Example, 1000 tokens will cost $5 and to play a game costs 20 tokens.  PayPal Sandbox is fine at the time of presentation.

Once you accept these terms, you can move on to the checklist.

I accept the conditions.

GENERAL

I did this project alone.

All components of my project are production-ready and completely functioning.

My application has no bugs.

HTML/CSS

I did not use any pre-made templates (besides for Bootstrap, Angular Materials, React Material-UI which are perfectly fine and even encouraged)

My project is responsive for at least 2 media devices, such as desktop and mobile.

My project has at least 2 separate user interfaces.  One is client-side (shop), the other is an admin back office (manage inventory, orders, etc.)

Login System

My project contains a full registration system

Only one user per email.  At registration, the user is notified when entering his email if it exists.

My project has a fully-functioning forgot-password option

New users on my project must confirm their email address before being able to log in. 

My project's users can modify their personal information.

My project has a token-login option (remember me) for access from recognized browsers

My login system recognizes what type of user logs in and can re-route to the appropriate view (client, admin).

Functionalities

My project's home page is database-generated (Shop articles, categories, game options)

I have at least 2 major functionalities on my project.

I have at least 5 minor functionalities on my project.

My project can upload files (pictures, PDF files, music, etc.)

I have included a WebSocket or WebRTC component to my project.  (Chat, live gaming, stockmarket watch)

A payment system is included and functional.  (PayPal, Stripe, etc.) 

Front-End Stack

My front end is created either using a recognized framework such as (Angular, React, Vue) or a component-based and design-pattern JavaScript model.

I fully understand evely line of code I wrote and can explain it to the presenter, if asked.

I used at least 1 external REST API (Weather Network, OMDB, Stockmarket Watch, etc.)

No dynamic data is "hard-coded" into my files.

Back-End Stack and Databases

My back-end is entirely code-based.  None of my APIs are visual-based.

I used both a relational (mySQL) and non-relational (MongoDB) database.

My primary database includes a minimum of 5 collections/tables

Security

Email regex verifications are both in the front-end and back-end.

Passwords must be strong and have a regex verification both in the front and back end.

All my REST APIs are secured (Besides for simple display APIs, such as "getAllCategories").

When creating a new user, his email is entered into the database in lowercase, and GMAIL addresses don't contain any periods.

All my database queries are injection-proof.

In case of injections, I get alerted via email or SMS

In case of errors, I have an error-log that gets updated.

Confirmation

Now that you have completed the checklist, you may click the button below and we will get back to you with a presentation date.

I,[name], have completed my project.

Form Already Submitted

If you mistakenly submitted the form, please be in touch with us and we will revert the submission.

Congradulations!

You must feel great, you are now ready for your project presentation!

If you mistakenly submitted the form, please be in touch with us and we will revert the submission.