We are looking for a freelance software developer to create a very cost effective, relatively simple Membership Database with some extra functionality - probably in Microsoft Access or similar.
1. The Database will need to run on a standard Windows PC without the need for expensive licencing or separate servers etc. The Database will only be installed/used from one single PC.
2. The Database will be connected to an Access Control System (Two entry barriers with card readers). The Access Control System will need to be able to interrogate the Database via an RS232 interface using simple ASCII commands.
2. a) Access Control System sends membership number to database (in the form of a simple ASCII command)
2. b) Database checks member's credentials (i.e. validity of membership)
2. c) Database responds to Access Control System with 'yes' or 'no' message (in the form of a simple ASCII command)
3. The Database will hold basic personal information for each member (name, address, membership expiry dates, etc)
4. It will also record the date and time of each successful 'visit' made - (i.e. each 'Yes' message sent)
5. The Database will have an interface allowing a member of staff to (frequently) add/edit/remove members quickly and easily.
6. The Database will also need to synchronise (members and visits tables) with a pre-existing internet based MySQL database on a regular basis (daily or more often) transferring data in both directions.
7. Data synchronisation needs to take place for a number of reasons. New members can be created both locally (by staff adding them into the Database) or from the client's website (and therefore from the pre-existing MySQL database). Also this new data needs to be stored in the remote MySQL database to be accessed by other pre-existing systems. Successful two way synchronisation with the MySQL database is fundamental to the success of the project.
8. We would probably look to achieve this two way synchronisation using additional 'temporary' data table(s) with each of the two databases issuing it's own unique id to each record.
8. a) New record created or changed in (local) Database. Changes saved both locally and in remote MySQL database in real time. Or (including if internet connection is down), data saved in temporary tables for sync later.
8. b) New record created or changed in (remote) MySQL database. Changes are saved in relevant table of MySQL database AND full amended record also stored in additional temporary table on MySQL database.
8. c) Periodically (minimum of every 24 hours) - Local Database connects to remote MySQL database and copies all new/updated records from temporary tables to it's own tables.
This project is just the start of something bigger, and could result in a lucrative ongoing relationship for the right candidate (e.g. future integration with a full EPOS system and tracking purchases against member records is likely).
We think the ideal software developer for this role might be:
- Based in or near to the North London/ Hertfordshire area (United Kingdom)
- Able to meet us face to face as much as is required throughout the life of the project
- Able to meet agreed deadlines
- Able to demonstrate previous experience in similar projects and/or work with similar technologies
- Willing to create the solution we need, rather encouraging an off the shelf solution that doesn't fully match our requirements.
PROJECTED LEAD TIME: 2 to 5 weeks