Welcome to the Flexisaf Internship challenge. Your mission, should you choose to accept it, is to build a computer based test application using ReactJs. We highly encourage you, if you are new to ReactJs (which is fine) to follow online tutorials to build the application.
To start, you should make a fork of this repo. As long as you have node and npm installed on your computer, you should be able to do the following:
npm install
npm run start
This should build all the code in the application and start a server listening on port 8080. If you open your browser to http://localhost:8080 you should see this: "Welcome to Flexisaf Internship challenge". This will mean your environment is set up correctly and you are ready to start coding!
We'd like you to build a basic computer based test application. It should have the following features:
- Manage exam questions (Admin). A predefined admin should be able to login and create multiple choice questions for different subjects together with their expected answers
- Signup (students). First Name, Last Name, Phone and email will be Ok. But you can add more fields
- Take exams (Students) ..* Students should be able to login to the app ..* View available subjects, then select to take exams for a subject ..* Take exams and view result by subject
Impress us! We value code that is simple and easy to understand, as well as an application that works. We don't have any expectations that you have a server portion to this application, but if you're able to get these features implemented and want to stretch yourself, you can go ahead and provide that. You can simply mock the server side data in whatever way you think it can work.
Once you've built your application, submit a pull request to us. If you are new to using git there are many online resources for learning git. It will be necessary to have some basic working knowledge of git to complete this challenge, and it is a core skill you'll be using as an intern (and as a developer).
We understand that as an intern developer, you're new to development. That's ok, in fact, it's more than ok, it's the whole point! If you get stuck along the way, reach out. I'll be checking email regularly so that you won't waste time on things that you actually can't figure out on your own. Contact kabir.idris@flexisaf.com