We will only accept bids that are $30 for this project. Why? This project is a test. We will review the code you submit to discern whether or not you have a rudimentary understanding of Lisp.
We are currently looking for a very clever, full-time software application developer (not just a coder) to work with us for at least a year but hopefully longer. We have many challenging new development projects that we need help with (no maintenance).
We use Linux and MySQL. Although our servers run on Slackware (Linux) you may develop your software on Linux, Windows, or Macintosh.
You must develop software for us using Steel Bank Common Lisp [url removed, login to view] The server runs Apache and mod_lisp that you may use for the project.
Of course, we assume you have practically no experience developing with Lisp. We know that very, very few developers use Lisp. Therefore, we recommend you review "Practical Common Lisp" [url removed, login to view] and "Common Lisp HyperSpec" [url removed, login to view]
* Be willing to teach yourself Steel Bank Common Lisp. We will *not* pay for you to learn Steel Bank Common Lisp.
* Work at least 2 hours each weekday for the first 60 days we work together. After the first 60 days you must work at least 8 hours each day. You may choose the hours you work. We will pay you for each hour you work.
* Currently have a *reliable* high speed Internet connection (DSL, Cable, T-1, etc).
Below is the first project we want you to complete. Although normally we will pay you by the hour, for this first project only, we will pay you a fixed price. Therefore, please bid a fixed price for the project below.
We realize that this project is only slightly more complicated than a "Hello World" project. Essentially, we want you to demonstrate that you have properly coded a solution using Steel Bank Common Lisp.
Your solution must be coded using Steel Bank Common Lisp [url removed, login to view] and uploaded to our development server. We will provide you with access to our development server.
Your solution will enable us to open a first URL where we will be able to create a new user with a unique user name and password.
The first text box will be labeled "Please create your user name." The second text box will be labeled "Please create your password."
Your software must only allow alphanumeric characters for user names and passwords. Neither user names nor passwords are case sensitive. We will be able to create up to 100 unique users.
Your solution will enable us to open another second URL. At this second URL we will see a text box labeled "User Name" and another labeled "Password." If we login with a matching user name and password, we will be taken to a third URL that says, "Congratulations, you logged in successfully". On that same page we will see a button that says, "Logout." If we click on the Logout button we will be taken back to the initial login screen.
However, if we fail to supply the a matching user name and password, we will stay at this same URL but see an error message that says, "The user name and password you entered do not match. Please reenter your user name and password."
For this project, you may store the user names and passwords in a file rather than a database. However, please keep in mind that for a future project your application will need to store the user names and passwords in a MySQL database on our development server.
SBCL version [url removed, login to view] is installed on our development server which is running Linux, Apache, and mod_lisp.
We have installed the following on our development server: